Look up another CVE · open CVE-2026-52998 in the interactive tracker
CVE-2026-52998
netfilter: nfnetlink_osf: fix potential NULL dereference in ttl check
Published 2026-06-24 (4 months ago) by the Linux kernel CNA. Subsystem net/netfilter. Debian urgency: not yet assigned.
What to do, per Debian release
Debian's own status for CVE-2026-52998 in every release this site tracks, and what each one means in practice. Every status below is the one the Debian Security Team publishes for this CVE. source
| Release | Status | Version | What this means |
|---|---|---|---|
| Debian 12bookworm | fixedDLA-4665-1 · 2026-07-03 · text | 6.1.176-1 | Update the kernel and reboot. DLA-4665-1 shipped the fix on 2026-07-03, in 6.1.176-1. A running kernel keeps the old code until the machine restarts. |
| Debian 13trixie | fixed | 6.12.94-1 | Update the kernel and reboot. Fixed in 6.12.94-1. A running kernel keeps the old code until the machine restarts. |
| Debian 14forky | fixed | 7.0.10-1 | Update the kernel and reboot. Fixed in 7.0.10-1. A running kernel keeps the old code until the machine restarts. |
| Debian unstablesid | fixed | 7.0.10-1 | Update the kernel and reboot. Fixed in 7.0.10-1. A running kernel keeps the old code until the machine restarts. |
The vulnerability
What the bug is
The nf_osf_ttl() function accessed skb->dev to perform a local interface address lookup without verifying that the device pointer was valid. Additionally, the implementation utilized an in_dev_for_each_ifa_rcu loop to match the packet source address against local interface addresses. It assumed that packets from the same subnet should not see a decrement on the initial TTL. A packet might appear it is from the same subnet but it actually isn't especially in modern environments with containers and virtual switching. Remove the device dereference and interface loop. Replace the logic with a switch statement that evaluates the TTL according to the ttl_check.
Where it lives
The fix touches these files. If the subsystem is one you do not use, the practical exposure is lower, though the package is still the vulnerable one.
net/netfilter/nfnetlink_osf.c
- What this is
- NETFILTERMAINTAINERS section matched on net/netfilter/ · netfilter-devel@vger.kernel.org · Maintained
- Kernel module
- nfnetlink_osf
Check it on the machine
grep -wE 'CONFIG_NETFILTER|CONFIG_NETFILTER_NETLINK_OSF' /boot/config-$(uname -r)Reads the booted kernel's own configuration, on the machine and nowhere else. =y is built in, =m is a module, and an is not set line means the code is not there.
lsmod | grep -w nfnetlink_osfPrints a line if that module is loaded right now, and nothing if it is not. One that is not loaded can still be loaded later by anything that needs it.
Show whether Debian builds this, per release
Debian builds this as a loadable module. Every release below compiles it as a module on every flavour, so whether the code is in the running kernel depends on whether that module is loaded.
- bookworm, trixie, forky, sidm
- m
- a loadable module on every flavour - check lsmod, can be blacklisted
- Build switches
- CONFIG_NETFILTER, CONFIG_NETFILTER_NETLINK_OSF
- Reads as
- all on means the file is compiled; any one off means it is not.
From the configuration Debian publishes for every kernel flavour it builds. It covers only the architectures Debian ships a linux-config package for, and nothing about a kernel you built yourself. Debian's own status above stays authoritative about the source package.MAINTAINERS kbuild Makefiles Debian linux-config packages
Signals
- Published
- 2026-06-24 (4 months ago)source
- CVSS
- 7.5 high
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:Hsource recompute it - Attack vector
- network (AV:N)source
- EPSS
- 0.58%, higher than 46.5% of all CVEssource
- CISA KEV
- not listedthe KEV catalogue
- Debian urgency
- not yet assignedsource
- Subsystem
- net/netfilter
Upstream fixes
The versions the CNA records as introducing and fixing this, and the commit for each. source
| Introduced | Fixed in | Commit |
|---|---|---|
| 2.6.31 | 5.10.258 | f4de0777e455 |
| 2.6.31 | 5.15.209 | c996a90f3071 |
| 2.6.31 | 6.1.175 | edc806f91229 |
| 2.6.31 | 6.6.141 | 5d05de2f0928 |
| 2.6.31 | 6.12.91 | 95be653a7679 |
| 2.6.31 | 6.18.33 | 79b90a96688e |
| 2.6.31 | 7.0.10 | 83fc5dd63455 |
| 2.6.31 | 7.1 | 711987ba281f |
Debian advisories
| Advisory | Date | Shipped to | Debian |
|---|---|---|---|
| DLA-4671-1 | 2026-07-05 | bullseye 6.1.176-1~deb11u1 | tracker |
| DLA-4665-1 | 2026-07-03 | bookworm 6.1.176-1 | tracker |
| DLA-4664-1 | 2026-07-03 | bullseye 5.10.259-1 | tracker |
Why the CNA scored it this way
Quoted from the kernel CNA's own scoring file, word for word. A highlighted metric carries the most severe value CVSS v3.1 defines for it, which is what pushes the score up. source
- AV:NAttack vector, network
- The vulnerable OSF match runs from IPv4 PRE_ROUTING/LOCAL_IN/FORWARD packet receive paths, and a remote TCP SYN can reach it on a firewall/bridge host using xt_osf or nft_osf.
- AC:LAttack complexity, low
- There is no race or probabilistic condition; with OSF TTL_LESS active on a device lacking IPv4 configuration, the attacker can craft a SYN with TTL greater than the fingerprint TTL to trigger the NULL dereference reliably.
- PR:NPrivileges required, none
- In the highest reasonable deployment, the OSF rule and fingerprints are already configured by the system, and the attacker only needs to send network traffic to the target.
- UI:NUser interaction, none
- No victim user action is needed; packet reception and netfilter rule evaluation trigger the bug automatically.
- S:UScope, unchanged
- The crash occurs within the same kernel/network filtering security authority and does not cross a VM, device-isolation, or sandbox boundary.
- C:NConfidentiality impact, none
- The bug is a NULL pointer dereference of missing IPv4 device state, with no evidence of attacker-controlled memory disclosure.
- I:NIntegrity impact, none
- The vulnerable path does not provide a write primitive or data modification; it only dereferences NULL during TTL/local-address checking.
- A:HAvailability impact, high
- The NULL dereference causes a kernel oops/panic in the packet receive path, producing a high-impact denial of service.