9.1
CRITICAL CVSS 3.1
CVE-2026-52999
netfilter: nfnetlink_osf: fix out-of-bounds read on option matching
Description

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.

INFO

Published Date :

June 24, 2026, 5:17 p.m.

Last Modified :

July 15, 2026, 12:54 p.m.

Remotely Exploit :

Yes !

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-52999 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Linux linux_kernel
CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and displays CVSS scores from various sources for each CVE.
Score Version Severity Vector Exploitability Score Impact Score Source
CVSS 3.1 CRITICAL 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Solution
Address out-of-bounds read by using a local pointer for TCP option traversal.
  • Modify nf_osf_match() to use a local pointer for parsing.
  • Ensure context pointer is restored after processing.
  • Apply the Linux kernel patch for netfilter.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-52999 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-52999 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-52999 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-52999 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • Initial Analysis by [email protected]

    Jul. 15, 2026

    Action Type Old Value New Value
    Added CWE CWE-125
    Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:5.0:rc7:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.0:rc5:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.0:rc6:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.0:rc8:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.19.26 up to (excluding) 4.20 *cpe:2.3:o:linux:linux_kernel:5.0:-:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.2 up to (excluding) 6.6.141 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 up to (excluding) 6.12.91 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.13 up to (excluding) 6.18.33 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.19 up to (excluding) 7.0.10 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.16 up to (excluding) 6.1.175 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.15.209 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.20.13 up to (excluding) 5.0 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.0.1 up to (excluding) 5.10.258
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/0145548346c4a30981a870a8ca00eac46ba27e85 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/1c136f2c44a5913646bac85303612fd0825197a0 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/1e19a07291bb8682c14c39a64725a3ae54ab8ccc Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/21883587593d7c8bb519a79460a0b5bc5ffbdabd Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/32e50f92c7cf3f4eba29622179a5fcdc2aebab41 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/70a3f31d25cf2ec9d4ddfa408120171ead955623 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/edb78a142d2e5948e63647c0646aa7e7886935f0 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/f5ca450087c3baf3651055e7a6de92600f827af3 Types: Patch
  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jun. 28, 2026

    Action Type Old Value New Value
    Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jun. 24, 2026

    Action Type Old Value New Value
    Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '1a6a0951fc009f6d9fe8ebea2d2417d80d54097b', 'lessThan': '0145548346c4a30981a870a8ca00eac46ba27e85', 'versionType': 'git'}, {'status': 'affected', 'version': '1a6a0951fc009f6d9fe8ebea2d2417d80d54097b', 'lessThan': '1c136f2c44a5913646bac85303612fd0825197a0', 'versionType': 'git'}, {'status': 'affected', 'version': '1a6a0951fc009f6d9fe8ebea2d2417d80d54097b', 'lessThan': '1e19a07291bb8682c14c39a64725a3ae54ab8ccc', 'versionType': 'git'}, {'status': 'affected', 'version': '1a6a0951fc009f6d9fe8ebea2d2417d80d54097b', 'lessThan': '32e50f92c7cf3f4eba29622179a5fcdc2aebab41', 'versionType': 'git'}, {'status': 'affected', 'version': '1a6a0951fc009f6d9fe8ebea2d2417d80d54097b', 'lessThan': '70a3f31d25cf2ec9d4ddfa408120171ead955623', 'versionType': 'git'}, {'status': 'affected', 'version': '1a6a0951fc009f6d9fe8ebea2d2417d80d54097b', 'lessThan': '21883587593d7c8bb519a79460a0b5bc5ffbdabd', 'versionType': 'git'}, {'status': 'affected', 'version': '1a6a0951fc009f6d9fe8ebea2d2417d80d54097b', 'lessThan': 'edb78a142d2e5948e63647c0646aa7e7886935f0', 'versionType': 'git'}, {'status': 'affected', 'version': '1a6a0951fc009f6d9fe8ebea2d2417d80d54097b', 'lessThan': 'f5ca450087c3baf3651055e7a6de92600f827af3', 'versionType': 'git'}, {'status': 'affected', 'version': '0c1054e0e5fdef2369fb089e94def978bd209e1f', 'versionType': 'git'}, {'status': 'affected', 'version': '8316b60582facd4068fb0916c4db2418c21b7174', 'versionType': 'git'}, {'status': 'affected', 'version': '4.19.26', 'lessThan': '4.20', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.20.13', 'lessThan': '4.21', 'versionType': 'semver'}], 'programFiles': ['net/netfilter/nfnetlink_osf.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.0'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.0', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.258', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.209', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.175', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.141', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.91', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.33', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.0.10', 'versionType': 'semver', 'lessThanOrEqual': '7.0.*'}, {'status': 'unaffected', 'version': '7.1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/netfilter/nfnetlink_osf.c'], 'defaultStatus': 'affected'}]
    Added Description 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.
    Added Reference https://git.kernel.org/stable/c/0145548346c4a30981a870a8ca00eac46ba27e85
    Added Reference https://git.kernel.org/stable/c/1c136f2c44a5913646bac85303612fd0825197a0
    Added Reference https://git.kernel.org/stable/c/1e19a07291bb8682c14c39a64725a3ae54ab8ccc
    Added Reference https://git.kernel.org/stable/c/21883587593d7c8bb519a79460a0b5bc5ffbdabd
    Added Reference https://git.kernel.org/stable/c/32e50f92c7cf3f4eba29622179a5fcdc2aebab41
    Added Reference https://git.kernel.org/stable/c/70a3f31d25cf2ec9d4ddfa408120171ead955623
    Added Reference https://git.kernel.org/stable/c/edb78a142d2e5948e63647c0646aa7e7886935f0
    Added Reference https://git.kernel.org/stable/c/f5ca450087c3baf3651055e7a6de92600f827af3
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.