CVE-2026-112402

Source
https://cve.org/CVERecord?id=CVE-2026-112402
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-112402.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2026-112402
Aliases
Downstream
ALSA (1)
CGA (44)
CLEANSTART (1)
DEBIAN (1)
openSUSE (1)
RLSA (1)
ROOT (1)
UBUNTU (1)
Related
Published
2026-10-19T21:18:57Z
Modified
2026-10-30T12:27:01Z
Severity
  • 8.7 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N CVSS Calculator
Summary
Pillow: Double free in ImagingScaleAffine on calloc failure via Image.transform
Details

Pillow is a Python imaging library. Prior to 13.0.0, Pillow can double free image memory when ImagingScaleAffine encounters a selective allocation failure. The affected fast path handles Transform.EXTENT or pure scale-and-translate Transform.AFFINE operations with the default NEAREST resampling. The output image allocation must succeed while the additional per-column lookup allocation fails, after which the error path deletes image storage that later cleanup releases again. An attacker who can drive such a large Image.transform() operation under memory pressure may trigger the failure. This can crash the process and may corrupt memory. This issue is fixed in version 13.0.0.

Database specific
{
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-416"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/112xxx/CVE-2026-112402.json"
}
References

Affected packages

Git / github.com/python-pillow/pillow

Affected ranges

Type
GIT
Repo
https://github.com/python-pillow/pillow
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
Show details
{
    "extracted_events": [
        {
            "cpe": "cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:*",
            "range": [
                {
                    "introduced": "0"
                },
                {
                    "fixed": "13.0.0"
                }
            ],
            "source": "CPE_RANGE"
        },
        {
            "range": [
                {
                    "fixed": "aafa6c75f7cdabb9f409a8aac7c780bea31d08d9"
                }
            ],
            "source": "REFERENCES_COMMIT"
        },
        {
            "original_tag": "13.0.0",
            "range": [
                {
                    "fixed": "293218ad059d994baf1777d882911bed6a49704a"
                }
            ],
            "source": "REFERENCES_TAG"
        }
    ]
}

Affected versions

1.*
1.0
1.2
1.7.7
1.7.8
10.*
10.0.0
10.1.0
10.2.0
10.3.0
10.4.0
11.*
11.0.0
11.1.0
11.2.1
11.3.0
12.*
12.0.0
12.1.0
12.2.0
12.3.0
2.*
2.0.0
2.1.0
2.2.0
2.2.1
2.3.0
2.5.0
2.7.0
2.8.0
2.8.1
2.9.0
2.9.0.dev0
2.9.0.dev1
2.9.0.dev2
3.*
3.1.0
3.1.0-rc1
3.2.0
3.3.0
3.4.0
4.*
4.0.0
4.0.0a
4.1.0
4.2.0
4.3.0
5.*
5.0.0
5.1.0
5.2.0
5.3.0
5.4.0
6.*
6.0.0
6.1.0
6.2.0
7.*
7.0.0
7.1.0
7.2.0
8.*
8.0.0
8.1.0
8.2.0
8.3.0
8.4.0
9.*
9.0.0
9.1.0
9.2.0
9.3.0
9.4.0
9.5.0

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-112402.json"
vanir_signatures
[
    {
        "deprecated": false,
        "digest": {
            "function_hash": "249917818182199755458341376879466064233",
            "length": 1510
        },
        "id": "CVE-2026-112402-52cc2a6a",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/python-pillow/pillow/commit/aafa6c75f7cdabb9f409a8aac7c780bea31d08d9",
        "target": {
            "file": "src/_imaging.c",
            "function": "_resize"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "321313457675946189401323870737251954232",
                "262075159384788929128693991217614199416",
                "193452582567030081844053633648415191004",
                "7909764332128986786411623258513436347",
                "26734643465617584029251126093880481802",
                "162035368954354079429599006203809381539",
                "129792897804934971887985543136768959113"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-112402-55549ad1",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/python-pillow/pillow/commit/aafa6c75f7cdabb9f409a8aac7c780bea31d08d9",
        "target": {
            "file": "src/_imaging.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "4526551501969283430959639219046268106",
            "length": 1606
        },
        "id": "CVE-2026-112402-d60276bf",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/python-pillow/pillow/commit/aafa6c75f7cdabb9f409a8aac7c780bea31d08d9",
        "target": {
            "file": "src/libImaging/Geometry.c",
            "function": "ImagingScaleAffine"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "288980435302019702101910813519152890468",
                "70702820797238706893230707488435886291",
                "240382660006110556071239605694321459564",
                "165713518888442145485659497522317710091"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-112402-edaa2fac",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/python-pillow/pillow/commit/aafa6c75f7cdabb9f409a8aac7c780bea31d08d9",
        "target": {
            "file": "src/libImaging/Geometry.c"
        }
    }
]
vanir_signatures_modified
"2026-10-29T07:06:31Z"