Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious ICO (width not multiple of 8)
-
ExploitDeliver file to victim application
-
ExecutionTrigger OOB read in bmp_decode_mask()
-
ImpactCrash application (denial of service)
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 | Requires an attacker-supplied ICO file whose inner bitmap width is not a multiple of 8, processed by an application that calls libnsbmp's bmp_decode() (library versions through 0.1.7); the malformed mask triggers the one-byte heap over-read in bmp_decode_mask(). Exploitation is LIMITED by: a local attack vector (the file must reach the victim's decoder - there is no network-facing default), required user interaction to open/process the file (UI:P), and an impact ceiling of an application crash only (no code execution, write, or confirmed data disclosure). No special product configuration is needed beyond use of the vulnerable library to decode ICO input. |
| Impact | The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) frames this as a low-complexity, no-privilege flaw whose only impact is availability - there is no confidentiality (VC:N) or integrity (VI:N) impact, consistent with CWE-125 (out-of-bounds READ) and the description, which describes a single-byte heap over-read that merely crashes the calling application. Critically, the attack vector is LOCAL (AV:L) with passive user interaction required (UI:P): an attacker cannot reach the parser remotely but must get a victim to open/process a crafted ICO file. Publicly available exploit code exists (VulnCheck advisory plus a hackmd technical write-up), but this is NOT CISA KEV-listed and no EPSS score was provided, so there is no evidence of active or widespread exploitation - POC availability and active exploitation are distinct signals. The input rates availability as VA:H, which seems aggressive for a one-byte over-read producing a recoverable single-process crash; this is better characterized as a transient denial-of-service of one application instance rather than a high-impact outage. Net: real but low-priority - a POC-backed local DoS in a niche library, not a critical remotely-exploitable issue despite the 6.8 'medium' score. |
| Exploit ScenarioDerived | An attacker crafts a malicious ICO file containing an inner bitmap whose width is not a multiple of 8 and delivers it to a victim who opens it in an application (e.g., the NetSurf browser or any tool) that uses libnsbmp's bmp_decode(). When bmp_decode_mask() processes the mask, it reads one byte past the heap image buffer, crashing the application. A public proof-of-concept and technical write-up for this over-read already exist. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
A heap out-of-bounds read in NetSurf libnsbmp through 0.1.7 can crash applications that call bmp_decode() when they process a crafted ICO file whose inner bitmap width is not a multiple of 8. Publicly available exploit code exists, and exploitation requires user interaction to open or process the malicious file. The flaw is a one-byte over-read (CWE-125) with no privileges required (PR:N) but a local attack vector; the impact is limited to a possible application crash, with no confirmed data disclosure or code execution.
RemediationAI
No vendor-released patch identified at time of analysis; the latest referenced source is version 0.1.7 (https://download.netsurf-browser.org/libs/releases/libnsbmp-0.1.7-src.tar.gz) and no fixed version appears in the supplied references. Until a patched release is available, applications should validate ICO files before decoding and reject any whose embedded bitmap width is not divisible by 8, or disable ICO support if it is not operationally required (trading functionality for reduced attack surface). Running the decoder in a sandboxed or separate process can contain crashes, and users should avoid opening untrusted ICO files since exploitation requires interaction. Monitor the upstream repository at https://github.com/netsurf-browser/libnsbmp and the VulnCheck advisory at https://www.vulncheck.com/advisories/netsurf-libnsbmp-through-0.1.7-out-of-bounds-read-via-bmp-decode-mask for a fix beyond 0.1.7.
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
The vulnerability resides in NetSurf's libnsbmp, a C library for decoding BMP and ICO image formats. The affected function bmp_decode_mask() handles the AND mask of an ICO's embedded bitmap; when the bitmap width is not a multiple of 8, the loop that reads mask bytes advances one byte past the allocated image buffer, producing a heap out-of-bounds read (CWE-125). The CPE cpe:2.3:a:netsurf:libnsbmp:*:*:*:*:*:*:*:* identifies all versions through 0.1.7 as affected. The over-read does not corrupt memory but can cause a segmentation fault in the calling application; it is reachable only when the application decodes an attacker-supplied ICO file, and public exploit code demonstrates the trigger. This is a read-only flaw, so it cannot be leveraged for code execution or memory disclosure beyond the single out-of-bounds byte, consistent with the CWE-125 classification.
Know when Netsurf 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:N/VI:N/VA:H/SC:N/SI:N/SA:N
Attacker supplies a local file the victim must open, so AV:L and UI:R; a one-byte over-read yields only a recoverable single-app crash, so A:L with C:N/I:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
NetSurf libnsbmp through 0.1.7 contains an out-of-bounds read vulnerability in bmp_decode_mask() that allows attackers to read one byte past the image buffer by supplying crafted ICO files. Attackers can provide an ICO whose inner bitmap width is not a multiple of 8, causing a heap over-read that can crash applications calling bmp_decode().
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.
Decoding a crafted RLE8- or RLE4-compressed BMP image with NetSurf's libnsbmp 0.1.7 or earlier can drive a one-byte heap
An issue in NetSurf v3.11 causes the application to read uninitialized heap memory when creating a dom_event structure.
NetSurf 3.11 is vulnerable to Use After Free in dom_node_set_text_content function. Rated medium severity (CVSS 6.5), th
An issue in NetSurf v.3.11 allows a remote attacker to execute arbitrary code via the dom_node_normalize function. Rated
EUVD-2026-102266
NVD
CVE.org
EPSS
GitHub
Exploit-DB