Skip to main content

Linux Kernel EUVDEUVD-2026-38867

| CVE-2026-52999 CRITICAL
Out-of-bounds Read (CWE-125)
2026-06-24 Linux GHSA-vhgw-q6q5-v9w3
Critical
Disputed · 9.1 Vendor: Linux
Share

Severity by source

Sources disagree (Medium–Critical)
Vendor (Linux) PRIMARY
9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
vuln.today AI
3.7 LOW

Remote packets trigger it (AV:N) but it needs the non-default NF_OSF_LOGLEVEL_ALL osf config and an exact match (AC:H); the over-read corrupts logging without attacker-readable disclosure (C:N/I:N), minor availability/correctness impact (A:L).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
5.5 MEDIUM
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: Linux

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jun 28, 2026 - 08:46 vuln.today
CVSS changed
Jun 28, 2026 - 08:22 NVD
9.1 (CRITICAL)
Patch available
Jun 24, 2026 - 18:02 EUVD
CVE Published
Jun 24, 2026 - 16:29 cve.org
CRITICAL 9.1
CVE Published
Jun 24, 2026 - 16:29 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

netfilter: nfnetlink_osf: fix out-of-bounds read on option matching

In nf_osf_match(), the nf_osf_hdr_ctx structure is initialized once and passed by reference to nf_osf_match_one() for each fingerprint checked. During TCP option parsing, nf_osf_match_one() advances the shared ctx->optp pointer.

If a fingerprint perfectly matches, the function returns early without restoring ctx->optp to its initial state. If the user has configured NF_OSF_LOGLEVEL_ALL, the loop continues to the next fingerprint. However, because ctx->optp was not restored, the next call to nf_osf_match_one() starts parsing from the end of the options buffer. This causes subsequent matches to read garbage data and fail immediately, making it impossible to log more than one match or logging incorrect matches.

Instead of using a shared ctx->optp pointer, pass the context as a constant pointer and use a local pointer (optp) for TCP option traversal. This makes nf_osf_match_one() strictly stateless from the caller's perspective, ensuring every fingerprint check starts at the correct option offset.

AnalysisAI

Out-of-bounds read in the Linux kernel's netfilter nfnetlink_osf (passive OS fingerprinting) module occurs when the shared nf_osf_hdr_ctx->optp pointer is not reset after a fingerprint fully matches during TCP option parsing. Affecting systems that use the osf match with NF_OSF_LOGLEVEL_ALL enabled, the flaw causes subsequent fingerprint checks to parse beyond the end of the TCP options buffer, reading garbage data and producing incorrect or missing match logs. Although carrying a 9.1 CVSS, this is a functional/correctness bug in a niche feature; there is no public exploit identified at time of analysis and EPSS is low (0.18%, 7th percentile).

Technical ContextAI

The bug is in nf_osf_match()/nf_osf_match_one() within net/netfilter/nfnetlink_osf.c, which implements passive OS fingerprinting (the 'osf' match available to nftables/iptables). The code walks attacker-supplied TCP header options to compare against a database of OS fingerprints. A single nf_osf_hdr_ctx structure containing the option cursor (optp) is initialized once and shared by reference across every fingerprint comparison. When a fingerprint matches exactly, the function returns early without restoring optp, so the next comparison starts from the end of the options region - an out-of-bounds read past the parsed buffer. Per CWE classification this is an Out-of-bounds Read (CWE-125; the input tags label it 'Buffer Overflow', but the description and fix describe a read-only over-read, not a write). The CPE data identifies the affected product generically as cpe:2.3:a:linux:linux. The fix makes nf_osf_match_one() stateless by taking the context as const and using a local cursor.

RemediationAI

Apply the vendor kernel update for your branch - Vendor-released patch: upgrade to at least 5.10.258, 5.15.209, 6.1.175, 6.6.141, 6.12.91, 6.18.33, 7.0.10, or 7.1 as appropriate (commit fixes at https://git.kernel.org/stable/c/f5ca450087c3baf3651055e7a6de92600f827af3 and the other stable commits listed in CVE-2026-52999). Where immediate patching is not possible, the most direct compensating control is to avoid the vulnerable code path: do not deploy netfilter osf fingerprinting rules, or if they are required, do not enable NF_OSF_LOGLEVEL_ALL logging (use a non-'all' loglevel), which prevents the multi-fingerprint loop that triggers the over-read - the trade-off is loss of full OS-fingerprint match logging. If the osf module is unused, ensure nfnetlink_osf is not loaded. Track the advisories at https://nvd.nist.gov/vuln/detail/CVE-2026-52999 and https://vuldb.com/vuln/373484.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

EUVD-2026-38867 vulnerability details – vuln.today

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