CVE-2020-15209

Source
https://cve.org/CVERecord?id=CVE-2020-15209
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-15209.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2020-15209
Aliases
Downstream
Related
Published
2020-09-25T19:15:16.213Z
Modified
2026-03-13T22:16:05.907480Z
Severity
  • 5.9 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
[none]
Details

In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, a crafted TFLite model can force a node to have as input a tensor backed by a nullptr buffer. This can be achieved by changing a buffer index in the flatbuffer serialization to convert a read-only tensor to a read-write one. The runtime assumes that these buffers are written to before a possible read, hence they are initialized with nullptr. However, by changing the buffer index for a tensor and implicitly converting that tensor to be a read-write one, as there is nothing in the model that writes to it, we get a null pointer dereference. The issue is patched in commit 0b5662bc, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.

References

Affected packages

Git / github.com/tensorflow/tensorflow

Affected ranges

Type
GIT
Repo
https://github.com/tensorflow/tensorflow
Events
Database specific
{
    "versions": [
        {
            "introduced": "0"
        },
        {
            "fixed": "1.15.4"
        },
        {
            "introduced": "2.0.0"
        },
        {
            "fixed": "2.0.3"
        },
        {
            "introduced": "2.1.0"
        },
        {
            "fixed": "2.1.2"
        },
        {
            "introduced": "2.2.0"
        },
        {
            "fixed": "2.2.1"
        },
        {
            "introduced": "2.3.0"
        },
        {
            "fixed": "2.3.1"
        }
    ]
}

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-15209.json"
unresolved_ranges
[
    {
        "events": [
            {
                "introduced": "0"
            },
            {
                "last_affected": "15.2"
            }
        ]
    }
]
vanir_signatures
[
    {
        "signature_version": "v1",
        "target": {
            "file": "tensorflow/lite/model_test.cc"
        },
        "source": "https://github.com/tensorflow/tensorflow/commit/0b5662bc2be13a8c8f044d925d87fb6e56247cd8",
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "118310501331616023350717681784829709784",
                "57364967679429806816256655767148470264",
                "102921009719167603431635488173237461403",
                "53810865977217055415276430758078361965",
                "305638738759426742636057687230277032594",
                "34872329951284026900110491077515923900",
                "202202117899958313685333926239881024739",
                "157562451449126841672195308694127197625",
                "149073477471276229723057206179610917054",
                "274105956972391255319063024138059560180",
                "230596824339254107197600048256212159624",
                "309207681048257396052300636804196043320",
                "65600312656929052008905661471385857207",
                "144945867077828154796586203507136244400",
                "124552705122710412742356347640769760909",
                "131598364421439620296301899740248428117",
                "189004029897638777771318898477545259908",
                "84070706133558568929049029694655438503"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2020-15209-1c08137f",
        "signature_type": "Line"
    },
    {
        "signature_version": "v1",
        "target": {
            "file": "tensorflow/lite/core/subgraph.cc",
            "function": "Subgraph::Invoke"
        },
        "source": "https://github.com/tensorflow/tensorflow/commit/0b5662bc2be13a8c8f044d925d87fb6e56247cd8",
        "deprecated": false,
        "digest": {
            "function_hash": "66171894964802191235365235219766751684",
            "length": 2213.0
        },
        "id": "CVE-2020-15209-432c9fb2",
        "signature_type": "Function"
    },
    {
        "signature_version": "v1",
        "target": {
            "file": "tensorflow/lite/core/subgraph.cc"
        },
        "source": "https://github.com/tensorflow/tensorflow/commit/0b5662bc2be13a8c8f044d925d87fb6e56247cd8",
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "288632793624738279975311723889403186854",
                "231838817353400695959687593382318508022",
                "136835989989611429058744611617542146033",
                "319476659976459967670411920219287419521",
                "259493130716973356554453251726916005105",
                "55895977300738371728966476833896950516",
                "80620433833618409211919915782517539096",
                "82089039147305956708211307876170608615"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2020-15209-54e67227",
        "signature_type": "Line"
    },
    {
        "signature_version": "v1",
        "target": {
            "file": "tensorflow/lite/model_test.cc",
            "function": "TEST"
        },
        "source": "https://github.com/tensorflow/tensorflow/commit/0b5662bc2be13a8c8f044d925d87fb6e56247cd8",
        "deprecated": false,
        "digest": {
            "function_hash": "72409903535934688868846486751425969565",
            "length": 474.0
        },
        "id": "CVE-2020-15209-94238736",
        "signature_type": "Function"
    }
]