CVE-2026-73639

Source
https://cve.org/CVERecord?id=CVE-2026-73639
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-73639.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-73639
Aliases
  • GHSA-jhx5-34j8-9g88
Downstream
Published
2026-09-17T21:18:59Z
Modified
2026-10-28T11:12:17Z
Severity
  • 9.1 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H CVSS Calculator
Summary
Imager::File::PNG versions from 1.003 before 1.004 for Perl write past the end of the row buffer reading a PNG with a tRNS transparency chunk in read_direct8
Details

Imager::File::PNG versions from 1.003 before 1.004 for Perl write past the end of the row buffer reading a PNG with a tRNS transparency chunk in read_direct8.

With a tRNS chunk, read_direct8() adds an alpha channel to the image it creates but still sizes the row buffer from the original channel count. libpng expands the transparency into that extra channel, so png_read_row() fills one channel more than the buffer holds, at one byte per sample, and writes width bytes past the end of the allocation. Palette images go to read_paletted() and 16-bit images to read_direct16(), which sizes its buffer from png_get_rowbytes() and allocates enough for the expanded row.

The same reader ships bundled in the Imager distribution.

Reading an attacker-supplied PNG through Imager->read() corrupts the heap, which can crash the process.

Database specific
{
    "cna_assigner": "CPANSec",
    "cwe_ids": [
        "CWE-787"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73639.json"
}
References

Affected packages

Git / github.com/tonycoz/imager

Affected ranges

Type
GIT
Repo
https://github.com/tonycoz/imager
Events
Database specific
Show details
{
    "extracted_events": [
        {
            "range": [
                {
                    "introduced": "1.003"
                },
                {
                    "fixed": "1.004"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StandardRange"
        },
        {
            "range": [
                {
                    "introduced": "1.034"
                },
                {
                    "fixed": "1.035"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StandardRange"
        },
        {
            "range": [
                {
                    "fixed": "d973bd7e8843f084e8071caa24b89545c88b1e4b"
                }
            ],
            "source": "REFERENCES_COMMIT"
        }
    ]
}

Affected versions

v1.*
v1.003
v1.034

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-73639.json"
vanir_signatures
[
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "92098837625173272701439476932164955284",
                "155340930284150661853425534505066329769",
                "192794196166304695670941862924225553416",
                "146360290625059573188759078255192700503",
                "320736754482995428408547705843734363023",
                "246749982309930058317187062964132689541",
                "98940639484387815586771609080005004308",
                "856089465327438696957969940359122098",
                "82858985714269442465771776294181700350",
                "289527810321199991122061545466701483034",
                "47269755249263090222074133853278984512",
                "273777330842901804129775445510801218033",
                "122173872448962528612661172528318283975",
                "4584476542731253505781892826988072548",
                "53225253891853093309707276630894415368",
                "3463768907728628300399426892945388421",
                "114966046107779748112601707120725552159",
                "277267051960966063933550505529698102031",
                "334283569745588111814526367047396671807",
                "856089465327438696957969940359122098",
                "55517380823379775703908319681633018557",
                "308574903331823911640437522235250814110",
                "227372771051189932267802667537412212506",
                "127589918621923408035112829837766750719",
                "212344682971151708006066237547809583393",
                "79232249039140798215599681111812026115",
                "97714927508681689507799463317553556286",
                "283819929985981115585337573826559204165",
                "4174482202474164063493613712773962299",
                "245765197108375903031130880343874720609",
                "71164297836442741058032412348903031777",
                "856089465327438696957969940359122098"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-73639-13f30347",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/tonycoz/imager/commit/d973bd7e8843f084e8071caa24b89545c88b1e4b",
        "target": {
            "file": "PNG/impng.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "260934713903637319983164023601036569336",
            "length": 1348
        },
        "id": "CVE-2026-73639-1fcd2214",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/tonycoz/imager/commit/d973bd7e8843f084e8071caa24b89545c88b1e4b",
        "target": {
            "file": "PNG/impng.c",
            "function": "read_direct8"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "270705117611937489761237429365226659381",
            "length": 1709
        },
        "id": "CVE-2026-73639-395624fa",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/tonycoz/imager/commit/d973bd7e8843f084e8071caa24b89545c88b1e4b",
        "target": {
            "file": "PNG/impng.c",
            "function": "read_direct16"
        }
    }
]
vanir_signatures_modified
"2026-10-28T11:12:17Z"