Skip to main content

NetSurf libnsbmp EUVDEUVD-2026-102266

| CVE-2026-111139 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-15 VulnCheck
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious ICO (width not multiple of 8)
  2. Exploit
    Deliver file to victim application
  3. Execution
    Trigger OOB read in bmp_decode_mask()
  4. Impact
    Crash 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Libnsbmp 0 ≤0.1.7

Affected Packages

euvd libnsbmp no fix

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

Vendor (VulnCheck) PRIMARY 6.8 MEDIUM
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
vuln.today AI 3.3 LOW

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.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
libnsbmp is a niche decoder bundled with the small NetSurf browser project
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

54
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy