{"answers":{"affected":"It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-32738 exists.","fix":"Upgrade to a fixed version.","what":"CVE-2026-32738 is a medium-severity vulnerability in strukturag libheif, published on 19 May 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2026-32738 and fix it if it is affected.\n\nWhat it is: CVE-2026-32738 is a medium-severity vulnerability in strukturag libheif, published on 19 May 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-32738 exists.\n\nAffected product: strukturag libheif. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-32738/ (Markdown: https://insights.sbomify.com/CVE-2026-32738/index.md)","id":"CVE-2026-32738","markdown":"https://insights.sbomify.com/CVE-2026-32738/index.md","name":"CVE-2026-32738","record":{"aliases":["ALPINE-CVE-2026-32738","BELL-CVE-2026-32738","DEBIAN-CVE-2026-32738","GHSA-7f2h-cmpf-v9ww","JLSEC-2026-570","ROOT-OS-DEBIAN-12-CVE-2026-32738","UBUNTU-CVE-2026-32738"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"HEIF/AVIF decoder library","requires_auth":"none","summary":"A crafted HEIF file triggers an integer underflow leading to a null-pointer dereference and crash, causing denial of service in libheif.","user_interaction":"required","vuln_class":"integer_overflow"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"libheif","vendor":"struktur"}],"cvss":{"score":6.5,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","version":"3.1"},"cwes":[{"id":"CWE-476","name":"NULL Pointer Dereference"},{"id":"CWE-125","name":"Out-of-bounds Read"}],"description":"libheif is a HEIF and AVIF file format decoder and encoder. In versions 1.21.2 and below, a crafted 792-byte HEIF sequence file with samples_per_chunk=0 in the stsc box causes an unsigned integer underflow in the Chunk constructor (m_last_sample = 0 + 0 - 1 = UINT32_MAX), mapping all samples to an empty chunk and resulting in a denial of service. When any sample is accessed, the library reads from index 0 of an empty std::vector, causing a guaranteed SEGV (null-page read). The file parses successfully without producing an error; the crash occurs on the first frame access. This issue has been fixed in version 1.22.0.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"libheif has a Heap OOB Read/SEGV Crash via Zero samples_per_chunk","id":"CVE-2026-32738","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"integer_overflow","year":"2026"},"n_packages":0,"n_references":1,"next":{"headline":"libheif is Vulnerable to Infinite Loop DoS via stts Sample Duration Lookup","id":"CVE-2026-32739"},"packages":[],"prev":{"headline":"Romeo's invalid NetworkPolicy enables a malicious actor to pivot into another namespace","id":"CVE-2026-32737"},"products":["libheif"],"published":"2026-05-19","related":[{"cvss_score":8.8,"headline":"libheif: Heap-Buffer-Overflow Write in Grid Tile Chroma Compositing","id":"CVE-2026-32740","kev_date_added":null,"published":"2026-05-19"},{"cvss_score":8.8,"headline":"Null dereference in n/a","id":"CVE-2023-49460","kev_date_added":null,"published":"2023-12-07"},{"cvss_score":8.8,"headline":"Null dereference in n/a","id":"CVE-2023-49462","kev_date_added":null,"published":"2023-12-07"},{"cvss_score":8.8,"headline":"Null dereference in n/a","id":"CVE-2023-49463","kev_date_added":null,"published":"2023-12-07"},{"cvss_score":8.8,"headline":"Null dereference in n/a","id":"CVE-2023-49464","kev_date_added":null,"published":"2023-12-07"},{"cvss_score":8.8,"headline":"Denial of service in n/a","id":"CVE-2020-19498","kev_date_added":null,"published":"2021-07-21"},{"cvss_score":8.8,"headline":"Memory corruption in n/a","id":"CVE-2020-19499","kev_date_added":null,"published":"2021-07-21"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-05-19","vendors":["strukturag"]},"summary":"A crafted HEIF file triggers an integer underflow leading to a null-pointer dereference and crash, causing denial of service in libheif.","url":"https://insights.sbomify.com/CVE-2026-32738/"}