CVE-2026-45842 json
slip: reject VJ receive packets on instances with no rstate array
published 2026-05-27 5 mo ago modified 2026-11-06 2 d ago also EUVD-2026-32168
- cvss
- 5.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 2%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
slip: reject VJ receive packets on instances with no rstate array
slhc_init() accepts rslots == 0 as a valid configuration, with the documented meaning of 'no receive compression'. In that case the allocation loop in slhc_init() is skipped, so comp->rstate stays NULL and comp->rslot_limit stays 0 (from the kzalloc of struct slcompress).
The receive helpers do not defend against that configuration. slhc_uncompress() dereferences comp->rstate[x] when the VJ header carries an explicit connection ID, and slhc_remember() later assigns cs = &comp->rstate[...] after only comparing the packet's slot number to comp->rslot_limit. Because rslot_limit is 0, slot 0 passes the range check, and the code dereferences a NULL rstate.
The configuration is reachable in-tree through PPP. PPPIOCSMAXCID stores its argument in a signed int, and (val >> 16) uses arithmetic shift. Passing 0xffff0000 therefore sign-extends to -1, so val2 + 1 is 0 and ppp_generic.c ends up calling slhc_init(0, 1). Because /dev/ppp open is gated by ns_capable(CAP_NET_ADMIN), the whole path is reachable from an unprivileged user namespace. Once the malformed VJ state is installed, any inbound VJ-compressed or VJ-uncompressed frame that selects slot 0 crashes the kernel in softirq context:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] RIP: 0010:slhc_uncompress (drivers/net/slip/slhc.c:519) Call Trace: <TASK> ppp_receive_nonmp_frame (drivers/net/ppp/ppp_generic.c:2466) ppp_input (drivers/net/ppp/ppp_generic.c:2359) ppp_async_process (drivers/net/ppp/ppp_async.c:492) tasklet_action_common (kernel/softirq.c:926) handle_softirqs (kernel/softirq.c:623) run_ksoftirqd (kernel/softirq.c:1055) smpboot_thread_fn (kernel/smpboot.c:160) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:164) </TASK>
Reject the receive side on such instances instead of touching rstate. slhc_uncompress() falls through to its existing 'bad' label, which bumps sls_i_error and enters the toss state. slhc_remember() mirrors that with an explicit sls_i_error increment followed by slhc_toss(); the sls_i_runt counter is not used here because a missing rstate is an internal configuration state, not a runt packet.
The transmit path is unaffected: the only in-tree caller that picks rslots from userspace (ppp_generic.c) still supplies tslots >= 1, and slip.c always calls slhc_init(16, 16), so comp->tstate remains valid and slhc_compress() continues to work.
Patch / fix
- Linux Linux 2.6.33, 3.3, 3.5, 3.11, 3.13, 3.15, 3.19, 4.2, 4.4, 5.10.258, 5.15.209, 6.1.175, 6.6.141, 6.12.91, 6.18.33, 7.0.10, 7.1
- linux Debian 12 6.1.176-1
- linux Debian 13 6.12.94-1
- linux Debian 14 7.0.10-1
debian advisories DEBIAN-CVE-2026-45842
- linux Ubuntu 22.04 LTS 5.15.0-186.196
- linux Ubuntu 24.04 LTS 6.8.0-136.136
- linux Ubuntu 26.04 LTS 7.0.0-28.28
- linux-aws Ubuntu 22.04 LTS 5.15.0-1112.119
- linux-aws Ubuntu 24.04 LTS 6.8.0-1061.64
- linux-aws Ubuntu 26.04 LTS 7.0.0-1009.9
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1112.122
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1064.72
ubuntu advisories UBUNTU-CVE-2026-45842
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-48.1
- kernel-source-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-48.1
- kernel-rt Real Time Module 15 SP7 6.4.0-150700.7.59.2
- kernel-syms-rt Real Time Module 15 SP7 6.4.0-150700.7.59.1
- kernel-source-rt Real Time Module 15 SP7 6.4.0-150700.7.59.2
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.60.1
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.60.1
- kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.60.1
suse advisories SUSE-SU-2026:22433-1SUSE-SU-2026:22458-1SUSE-SU-2026:2591-1SUSE-SU-2026:2482-1SUSE-SU-2026:2450-1SUSE-SU-2026:22108-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.35.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.35.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.35.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.35.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.35.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.35.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.35.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.35.1
opensuse advisories openSUSE-SU-2026:20965-1openSUSE-SU-2026:10954-1
- git.kernel.org/stable/c/3d71c961febddd855d3ae9a519eeb96c8023f430 commit
- git.kernel.org/stable/c/72304fec672e8aac9ee7b9c475db96b37cca8d8d commit
- git.kernel.org/stable/c/4aa9eca6fda2919027dfd7a7cc69334982d89586 commit
- git.kernel.org/stable/c/c6980e8b1a86288167f34966fa5219031999b6f1 commit
- git.kernel.org/stable/c/de42f86e2cf5028a97e74c25869d1a962b13c301 commit
- git.kernel.org/stable/c/9e1ff0eead073c4f46d874ad2526b7dda5465faf commit
- git.kernel.org/stable/c/7b0d9e878ec2b21d99ae8051b3dda59cdb66c152 commit
- git.kernel.org/stable/c/e76607442d5b73e1ba6768f501ef815bb58c2c0e commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-45842 updated cvss 5.5
kernel: slip: reject VJ receive packets on instances with no rstate array
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelaffected: no fix available “Fix deferred”
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
cisa ICSA-26-295-16 updated cvss 0.0
Siemens SIMATIC S7-1500 TM MFP
-
Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystemaffected: mitigation, no fix available
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 d ago
Exploit prediction
0.13% chance of exploitation in the next 30 days, higher than 2% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected products
- Linux Linux
- Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystem
Classification
- Weakness
-
- CWE-476 NULL Pointer Dereference
- Technology feeds
References
-
git.kernel.org
/stable/c/3d71c961febddd855d3ae9a519eeb96c8023f430
patch
-
git.kernel.org
/stable/c/72304fec672e8aac9ee7b9c475db96b37cca8d8d
patch
-
git.kernel.org
/stable/c/4aa9eca6fda2919027dfd7a7cc69334982d89586
patch
-
git.kernel.org
/stable/c/c6980e8b1a86288167f34966fa5219031999b6f1
patch
-
git.kernel.org
/stable/c/de42f86e2cf5028a97e74c25869d1a962b13c301
patch
-
git.kernel.org
/stable/c/9e1ff0eead073c4f46d874ad2526b7dda5465faf
patch
-
git.kernel.org
/stable/c/7b0d9e878ec2b21d99ae8051b3dda59cdb66c152
patch
-
git.kernel.org
/stable/c/e76607442d5b73e1ba6768f501ef815bb58c2c0e
patch
- cert-portal.siemens.com /productcert/html/ssa-784472.html
Sources
- CVE List CVE-2026-45842
- NVD CVE-2026-45842
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.