Skip to main content

libcss CVE-2026-116740

| EUVDEUVD-2026-110488 HIGH
NULL Pointer Dereference (CWE-476)
2026-10-26 VulnCheck GHSA-gmc2-wjcf-43vw
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Host malicious stylesheet with trailing-comma media list
  2. Exploit
    Victim browser/app fetches and parses the CSS
  3. Execution
    Parser reaches NULL token after final query
  4. Impact
    Dereference in mq_parse_media_query crashes consumer (DoS)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Triggering requires the victim application to parse an attacker-controlled stylesheet whose @media or @import media query list ends with a trailing comma (confirmed by the regression tests '@media),', '@media ),,,', '@media (color),'); on that input the final iteration of the media-list loop passes a NULL token into mq_parse_media_query(), which the unpatched code dereferences. Exploitation is LIMITED by the need for the victim to load/parse the malicious CSS (CVSS UI:P / passive user interaction) - this is a client-side parse-time crash, not a server-side unauthenticated hit - and by the use of libcss ≤0.9.2 (NetSurf or any embedding consumer). Impact is confined to a crash (availability only); it does not grant code execution or data disclosure.

Impact

The signals are internally consistent and point to a moderate-severity denial-of-service issue rather than a top-tier emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P) scores 7.1 driven ENTIRELY by availability impact (VA:H) with no confidentiality or integrity impact (VC:N/VI:N), matching CWE-476 and the commit evidence - the only outcome is a crash of the consuming application. EPSS is low at 0.33% (26th percentile) and the CVE is NOT in CISA KEV, so there is no indication of active or widespread exploitation; this is consistent with a crash-only bug that yields no code execution or data access and therefore has limited attacker incentive. The vuln.today decision label is 'this_week' and a vendor patch exists, supporting prompt but non-emergency patching. The one nuance: exploitation requires the victim to load attacker-supplied CSS (UI:P / passive interaction), which tempers the 'network' vector - it is not a server-side unauthenticated crash but a client-side parse-time crash. Net: a genuine, easily-triggered DoS worth patching soon, not a high-CVSS-but-illusory issue, but also not an RCE-class priority.

Exploit ScenarioDerived

An attacker publishes a web page or stylesheet whose @media or @import media list ends with a trailing comma (e.g. '@media (color),'). When a NetSurf user - or any application embedding libcss ≤0.9.2 - loads and parses that CSS, mq_parse_media_query() advances past the final media query, receives a NULL token, and dereferences it, crashing the consumer. A public write-up (hackmd) and a VulnCheck advisory describing the flaw exist, but the input does not confirm them as working exploit code.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 28, 2026

A NULL pointer dereference in libcss through 0.9.2 lets remote attackers crash any application that parses an attacker-supplied stylesheet whose @media or @import media query list ends in a trailing comma, taking down NetSurf and other embedders of the library. The fault sits in mq_parse_media_query() (src/parse/mq.c), where the final iteration of the media-list loop hands a NULL token to a branch that dereferences it unchecked; the regression tests added with the fix ('@media),', '@media ),,,', '@media (color),') confirm the exact trigger. Impact is availability only - a client-side parse-time crash with no code execution or data disclosure, and it requires the victim to load the hostile CSS (passive user interaction). No confirmed public exploit code was identified at time of analysis, though a public technical writeup describing the dereference exists; EPSS is low at 0.33% (26th percentile) and there is no CISA KEV listing, so this is a moderate-priority denial-of-service issue rather than a top-tier emergency.

RemediationAI

Apply the upstream fix in commit 006ffc4096040da13690abc380e5f828ec08284d, which adds the missing 'token != NULL' check in mq_parse_media_query() and ships regression tests for trailing-comma media lists; the vendor is reported as having a patch available, and this one-line guard backports cleanly into embedded or vendored copies of libcss, but a tagged release version past 0.9.2 containing the fix is not independently confirmed in the supplied data, so verify against the project's release tags before assuming a packaged update covers you. Consumers that cannot immediately re-link libcss (NetSurf builds, downstream distros, firmware using the library) should treat the crash as an input-validation problem in the interim: strip or reject trailing commas in @media and @import media lists before handing a stylesheet to libcss, or refuse to parse stylesheets from untrusted sources entirely, accepting that both workarounds trade fidelity for safety and will mangle otherwise-valid CSS. Blocking or sandboxing the parser process limits the fallout of a crash but does not remove the dereference. Monitor for a patched libcss release and for the advisory pages at https://github.com/netsurf-browser/libcss/commit/006ffc4096040da13690abc380e5f828ec08284d and https://nvd.nist.gov/vuln/detail/CVE-2026-116740.

Affected VersionsENISA

libcss 0 ≤0.9.2

Affected Packages

euvd libcss 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

libcss is the Cascading Style Sheets parsing and selection library written for the NetSurf browser and reused by other lightweight HTML/CSS consumers. The flaw is CWE-476 (NULL pointer dereference) in the media-query parser: mq_parse_media_query() walks the token stream of a media list, and when the list terminates with a trailing comma the loop reaches a final iteration with no token available, passing NULL into a branch that reads token->type. The upstream fix (commit 006ffc4096040da13690abc380e5f828ec08284d) is a single guard changing the condition to 'token != NULL && token->type == CSS_TOKEN_IDENT', which confirms the root cause is an unvalidated pointer rather than a logic or memory-corruption bug. The same commit extends test/data/parse2/mq.dat with three cases that must parse cleanly, including '@media),', '@media ),,,' and '@media (color),'. Scoring reflects availability-only impact: CVSS 4.0 rates it 7.1 with AV:N/AC:L/AT:N/PR:N/UI:P and VA:H but VC:N/VI:N, and the assessed CVSS 3.1 vector AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H agrees that a successful trigger yields nothing beyond a crash. Because the parsing library is embedded rather than exposed as a service, the network vector describes delivery of the stylesheet, not direct reachability of a server-side component.

Know when Libcss 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 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Attacker-served stylesheet over the network with no auth (AV:N/PR:N) but the victim must load/parse it (UI:R); the flaw only crashes the parser, so A:H with C:N/I:N and no scope change.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
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

libcss through 0.9.2 contains a NULL pointer dereference vulnerability in mq_parse_media_query() that allows remote attackers to crash consumers by supplying media lists ending in a comma. Attackers can serve a stylesheet whose @media or @import media list has a trailing comma, causing NetSurf or other parsers to crash.

Executive ViewAI

Why It Matters

A high-severity availability vulnerability in the libcss library (through version 0.9.2) allows a remote attacker to crash applications that parse attacker-supplied stylesheets, specifically affecting NetSurf and other embedders. The impact is limited to denial-of-service, requiring user interaction to load malicious CSS, with no risk of code execution or data disclosure-though this could degrade service availability for affected products.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Low
CSS parsing library primarily for the niche NetSurf browser
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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

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

Attack Technique

A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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