VYPR
Unrated severityNVD Advisory· Published Dec 9, 2025· Updated Apr 15, 2026

CVE-2022-50655

CVE-2022-50655

Description

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

ppp: associate skb with a device at tx

Syzkaller triggered flow dissector warning with the following:

r0 = openat$ppp(0xffffffffffffff9c, &(0x7f0000000000), 0xc0802, 0x0) ioctl$PPPIOCNEWUNIT(r0, 0xc004743e, &(0x7f00000000c0)) ioctl$PPPIOCSACTIVE(r0, 0x40107446, &(0x7f0000000240)={0x2, &(0x7f0000000180)=[{0x20, 0x0, 0x0, 0xfffff034}, {0x6}]}) pwritev(r0, &(0x7f0000000040)=[{&(0x7f0000000140)='\x00!', 0x2}], 0x1, 0x0, 0x0)

[ 9.485814] WARNING: CPU: 3 PID: 329 at net/core/flow_dissector.c:1016 __skb_flow_dissect+0x1ee0/0x1fa0 [ 9.485929] skb_get_poff+0x53/0xa0 [ 9.485937] bpf_skb_get_pay_offset+0xe/0x20 [ 9.485944] ? ppp_send_frame+0xc2/0x5b0 [ 9.485949] ? _raw_spin_unlock_irqrestore+0x40/0x60 [ 9.485958] ? __ppp_xmit_process+0x7a/0xe0 [ 9.485968] ? ppp_xmit_process+0x5b/0xb0 [ 9.485974] ? ppp_write+0x12a/0x190 [ 9.485981] ? do_iter_write+0x18e/0x2d0 [ 9.485987] ? __import_iovec+0x30/0x130 [ 9.485997] ? do_pwritev+0x1b6/0x240 [ 9.486016] ? trace_hardirqs_on+0x47/0x50 [ 9.486023] ? __x64_sys_pwritev+0x24/0x30 [ 9.486026] ? do_syscall_64+0x3d/0x80 [ 9.486031] ? entry_SYSCALL_64_after_hwframe+0x63/0xcd

Flow dissector tries to find skb net namespace either via device or via socket. Neigher is set in ppp_send_frame, so let's manually use ppp->dev.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A missing device association in PPP transmit path triggers a kernel flow dissector warning, potentially leading to denial of service.

Vulnerability

Overview

In the Linux kernel's PPP (Point-to-Point Protocol) driver, the function ppp_send_frame transmits packets without associating the socket buffer (skb) with a network device or a socket. This causes the flow dissector to issue a warning when it attempts to determine the packet's network namespace, as it expects either a device or a socket to be set. The issue was discovered by syzkaller and manifests as a kernel warning at __skb_flow_dissect in net/core/flow_dissector.c [1].

Exploitation

Conditions

An attacker with local access and the ability to create a PPP unit and send crafted packets via the PPPIOCSACTIVE ioctl and pwritev system call can trigger the warning. No special privileges beyond the ability to open a PPP device are required, making the attack surface accessible to unprivileged users in many configurations. The warning is triggered during the transmit path when the flow dissector is invoked, for example by a BPF program attached to the socket.

Impact

The primary impact is a kernel warning that can flood system logs and, under certain conditions, lead to a denial of service if the warning is treated as a panic or if repeated warnings degrade performance. The warning itself does not directly corrupt memory, but it indicates a violation of kernel assumptions that could be leveraged in more complex exploits.

Mitigation

The fix, committed as 7da524781c53 and backported to stable kernels as 9f225444467b, ensures that ppp_send_frame manually sets the skb's device to ppp->dev before transmission, satisfying the flow dissector's requirements [1][2]. Users should apply the latest stable kernel updates to remediate this vulnerability.

AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

2
  • Linux/Kernelinferred2 versions
    (expand)+ 1 more
    • (no CPE)
    • (no CPE)

Patches

6

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

6

News mentions

0

No linked articles in our index yet.