Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft FITS file with negative ZDITHER0 seed
-
DeliveryDeliver file to victim pipeline/user
-
ExploitVictim opens via fits_open_file()
-
ExecutionDecode pixels with fits_read_pix()
-
PersistOut-of-bounds read before rand table
-
ImpactCrash process or leak heap into pixels
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an attacker-supplied FITS file containing a tile-compressed image that uses SUBTRACTIVE_DITHER_1 dithering with the ZDITHER0 header keyword set to zero or a negative value, and the victim application must actually decode pixels - i.e., call fits_open_file() followed by fits_read_pix() (or an equivalent read path) against that file. Limiting factors that reduce real-world risk: the vector is LOCAL (AV:L) and demands passive user interaction (UI:P) - the victim must open/process the malicious file; the bug only triggers for the specific SUBTRACTIVE_DITHER_1 compression mode combined with the crafted non-positive seed, not for arbitrary or uncompressed FITS data; and the primary outcome is a crash (DoS) with only a limited, non-targeted heap leak surfacing inside decoded pixel values. Affected products are CFITSIO builds through 4.7.0. |
| Impact | This is a genuine but moderate-priority issue, best characterized as a file-parsing (DoS plus limited info-leak) bug rather than a remote code execution threat. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P) confirms the attack is LOCAL and requires PASSIVE user interaction - a victim must open or process an attacker-supplied FITS file - so there is no network-facing, unauthenticated mass-exploitation path despite PR:N. The dominant impact is availability (VA:H, crashes) with only low confidentiality loss (VC:L, heap bytes bleeding into decoded pixels) and no integrity impact (VI:N), consistent with CWE-125 out-of-bounds READ (no memory corruption/write). No EPSS score or CISA KEV status was provided in the input, and there is no explicit POC/exploit flag; a detailed third-party technical write-up (hackmd) and a VulnCheck advisory with exact vulnerable source lines exist, which lowers the research bar but does not constitute confirmed weaponized exploit code. Net: real and worth patching in any pipeline that ingests untrusted FITS files, but the local vector, required user interaction, and read-only (non-RCE) impact keep it well below a drop-everything priority. Note the signal interaction: a 6.9/MEDIUM score with AV:L+UI:P but PR:N can read as more severe than it operates in practice - the user-interaction and local-file prerequisites are the true risk limiters. |
| Exploit ScenarioDerived | An attacker distributes a malicious FITS image (e.g., via a data-sharing portal, email attachment, or automated astronomy data pipeline) containing a SUBTRACTIVE_DITHER_1 tile-compressed image with a ZDITHER0 dither seed set to zero or a negative value. When a victim's application opens the file with fits_open_file() and decodes pixels with fits_read_pix(), the unquantize helper indexes before the fits_rand_value table, reading out-of-bounds heap memory. This crashes the process or leaks adjacent heap bytes into the returned pixel values; no public weaponized exploit is identified, though a detailed technical write-up documents the exact code path. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
CFITSIO through 4.7.0 contains a heap out-of-bounds read in its image decompression routines when processing a crafted FITS file that uses SUBTRACTIVE_DITHER_1 compression and sets the ZDITHER0 seed to zero or a negative value. Triggering the bug requires local access and user interaction to open the file and decode pixels, resulting in a crash (denial of service) and a limited, non-targeted leak of heap memory into decoded pixel values. No public exploit code or active exploitation has been identified, and the issue is best characterized as a moderate-priority file-parsing bug rather than a remote code execution threat.
RemediationAI
No vendor-released patch has been identified at time of analysis. Monitor the CFITSIO GitHub repository for updates. As a workaround, applications can validate the ZDITHER0 keyword in FITS headers and reject files where it is zero or negative before calling fits_read_pix(), though this may block legitimate files that use unusual dithering seeds. Avoid using SUBTRACTIVE_DITHER_1 compression for untrusted data, or process untrusted FITS files in a sandboxed environment to contain crashes and limit the impact of the heap leak. For further details, refer to the VulnCheck advisory at https://www.vulncheck.com/advisories/cfitsio-through-4.7.0-heap-out-of-bounds-read-via-negative-zdither0-seed and the GitHub source references.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CFITSIO is a C library for reading and writing FITS (Flexible Image Transport System) files, widely used in astronomy. The vulnerability resides in imcompress.c within the unquantize helpers for subtractive dithering, specifically lines around 5353-5362 and 7495-7516. The ZDITHER0 header keyword provides a seed for the dithering algorithm, and when it is zero or negative, an index calculation reads memory before the global fits_rand_value table. This is a classic out-of-bounds read (CWE-125) in heap memory. The issue only occurs for images compressed with the SUBTRACTIVE_DITHER_1 method and requires an application to open the file via fits_open_file() and read pixel data with fits_read_pix(). The CPE cpe:2.3:a:heasarc:cfitsio:*:*:*:*:*:*:*:* confirms that all versions of CFITSIO up to and including 4.7.0 are affected.
Know when Cfitsio gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N
Local file-parsing bug needing the victim to open a crafted FITS file (AV:L/UI:R), no auth (PR:N); read-only leak gives C:L, no integrity (I:N), and crashes give A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
CFITSIO through 4.7.0 contains a heap-based out-of-bounds read vulnerability in the imcompress.c unquantize helpers that allows attackers to read memory before the fits_rand_value table via a zero or negative ZDITHER0 seed. Attackers can supply a crafted FITS file with a SUBTRACTIVE_DITHER_1 compressed image, read through fits_open_file() and fits_read_pix(), to cause crashes or leak heap contents in decoded pixels.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Multiple exploitable buffer overflow vulnerabilities exist in image parsing functionality of the CFITSIO library version
In the ffghtb function in NASA CFITSIO 3.42, specially crafted images parsed via the library can cause a stack-based buf
In the ffghbn function in NASA CFITSIO 3.42, specially crafted images parsed via the library can cause a stack-based buf
In the ffgphd and ffgtkn functions in NASA CFITSIO 3.42, specially crafted images parsed via the library can cause a sta
Heap-based out-of-bounds read in the HCOMPRESS tile decoder of CFITSIO through 4.7.0 lets unauthenticated attackers trig
NASA CFITSIO prior to 3.43 is affected by: Buffer Overflow. Rated critical severity (CVSS 9.8), this vulnerability is re
EUVD-2026-102355
GHSA-9mqr-56x7-4gm4
NVD
CVE.org
EPSS
Exploit-DB