CVE-2026-45842

Linux kernel (GCP) vulnerabilities

Beschreibung

Im Linux-Kernel wurde folgende Schwachstelle behoben: `slip`: Ablehnung von VJ-Empfangspaketen bei Instanzen ohne `rstate`-Array Die Funktion `slhc_init()` akzeptiert `rslots == 0` als gültige Konfiguration, was dokumentarisch bedeutet 'keine Empfangsverdichtung'. In diesem Fall wird die Zuweisungsschleife in `slhc_init()` übersprungen, sodass `comp->rstate` NULL bleibt und `comp->rslot_limit` 0 ist (aus der `kzalloc` von `struct slcompress`). Die Empfangshilfsfunktionen verteidigen sich nicht gegen diese Konfiguration. Die Funktion `slhc_uncompress()` entlädt `comp->rstate[x]`, wenn das VJ-Header ein explizites Verbindungs-ID trägt, und `slhc_remember()` weist später `cs = &comp->rstate[...]` zu, nachdem nur die Paket-Slotnummer mit `comp->rslot_limit` verglichen wurde. Da `rslot_limit` 0 ist, schlägt Slot 0 den Bereichstest, und der Code entlädt ein NULL `rstate`. Diese Konfiguration ist über PPP im Kernel erreichbar. `PPPIOCSMAXCID` speichert seinen Argumentwert in einem signierten Integer, und `(val >> 16)` verwendet einen arithmetischen Verschiebeoperator. Das Übergeben von `0xffff0000` führt daher zu einer Signerweiterung auf -1, sodass `val2 + 1` 0 ist und `ppp_generic.c` schließlich `slhc_init(0, 1)` aufruft. Da der Zugriff auf `/dev/ppp` durch `ns_capable(CAP_NET_ADMIN)` eingeschränkt ist, ist der gesamte Pfad von einem nicht privilegierten Benutzernamespace erreichbar. Sobald der fehlerhafte VJ-Zustand installiert ist, führt jedes eingehende VJ-verdichtete oder unverdichtete Frame, das Slot 0 auswählt, zu einem Kernelabsturz im `softirq`-Kontext: Oops: allgemeiner Schutzfehler, wahrscheinlich für nicht-kanonische Adresse 0xdffffc0000000000: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in Bereich [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> Lehne die Empfangsseite bei solchen Instanzen ab, anstatt `rstate` zu berühren. Die Funktion `slhc_uncompress()` fällt durch zum bestehenden 'bad'-Label, das `sls_i_error` erhöht und den Toss-Zustand betritt. `slhc_remember()` spiegelt dies mit einer expliziten Erhöhung von `sls_i_error` gefolgt von `slhc_toss();` der Zähler `sls_i_runt` wird hier nicht verwendet, da ein fehlendes `rstate` einen internen Konfigurationszustand und kein runt-Paket ist. Der Übertragungspfad bleibt unberührt: Der einzige im Kernel vorhandene Aufrufer, der `rslots` aus dem Benutzerraum wählt (`ppp_generic.c`), liefert weiterhin `tslots >= 1`, und `slip.c` ruft immer `slhc_init(16, 16)` auf, sodass `comp->tstate` gültig bleibt und `slhc_compress()` weiter funktioniert.

Metriken

Severity
medium
kein öffentlicher PoC bekannt
5.5
Quelle: nvd-v3
2.6 %
Niedrig — CVE gehört zu den unteren 10 % der heute bewerteten CVEs.
0.1 %
Niedrig — Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.
Veröffentlicht
2026-09-07 09:05 UTC

Betroffene Betriebssysteme

  • linux

    redhat / enterprise_linux10.0

  • linux

    redhat / enterprise_linux7.0

  • linux

    redhat / enterprise_linux8.0

  • linux

    redhat / enterprise_linux9.0

  • linux

    ubuntu / linux-aws-6.8jammy

  • linux

    ubuntu / linux-azureresolute

  • linux

    ubuntu / linux-azuretrusty

  • linux

    ubuntu / linux-azurexenial

  • linux

    ubuntu / linux-azure-4.15bionic

  • linux

    ubuntu / linux-azure-5.4bionic

  • linux

    ubuntu / linux-azure-fdenoble

  • linux

    ubuntu / linux-azure-fderesolute

  • linux

    ubuntu / linux-azure-fde-6.8jammy

  • linux

    ubuntu / linux-azure-fipsbionic

  • linux

    ubuntu / linux-azure-fipsfocal

  • linux

    ubuntu / linux-azure-fipsnoble

  • linux

    ubuntu / linux-fipsjammy

  • linux

    ubuntu / linux-gcp-7.0noble

  • linux

    ubuntu / linux-gkejammy

  • linux

    ubuntu / linux-nvidia-tegranoble

  • linux

    ubuntu / linux-raspinoble

  • linux

    ubuntu / linux-raspi-realtimenoble

  • linux

    linux / linux_kernel2.6.12

  • linux

    linux / linux_kernel2.6.15

Quellen & Referenzen

Verknüpfte CVEs

1392 weitere CVEs anzeigen
IDCVE-2026-45842
Linux kernel (GCP) vulnerabilities — CVE-2026-45842 | NEOSEC Intel