CVE-2026-98541 in Linuxinfo

Zusammenfassung

von VulDB • 18.10.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

fou: Ablehnung von weggelassenem FOU_ATTR_IPPROTO bei FOU_ENCAP_DIRECT

Das Commit 7a9bc9e3f423 („fou: Don't allow 0 for FOU_ATTR_IPPROTO.") hat NLA_POLICY_MIN(NLA_U8, 1) zu fou_nl_policy[FOU_ATTR_IPPROTO] hinzugefügt, was ein explizit übergebenes Attribut mit dem Wert FOU_ATTR_IPPROTO == 0 mit -ERANGE ablehnt.

Allerdings ist FOU_ATTR_IPPROTO ein optionales Netlink-Attribut. Wenn ein Benutzer einen Befehl FOU_CMD_ADD sendet, wobei FOU_ATTR_TYPE auf FOU_ENCAP_DIRECT gesetzt ist und FOU_ATTR_IPPROTO vollständig weggelassen wird, schlägt die Validierung durch nla_policy nicht fehl, und parse_nl_config() lässt cfg->protocol als 0 (aus memset(cfg, 0, sizeof(*cfg))). Anschließend erstellt fou_create() einen Socket mit dem Typ FOU_ENCAP_DIRECT unter der Bedingung fou->protocol == 0.

In fou_udp_recv() löst die Rückgabe von -fou->protocol an udp_queue_rcv_one_skb() eine erneute Übermittlung des IP-Protokolls aus, wenn fou->protocol > 0 ist; wird hingegen 0 zurückgegeben, teilt dies der UDP-Tunnel-Schicht mit, dass das sk_buff verbraucht wurde, ohne es freizugeben. Wenn fou->protocol == 0 ist, gibt jede auf dem Socket empfangene Paketfunktion von fou_udp_recv() den Wert 0 zurück und führt zu einem Leck des sk_buffs.

Es wird nun FOU_ENCAP_DIRECT abgelehnt, wenn !cfg->protocol in fou_create() gilt, sodass das Erstellen eines direkten Encapsulation-Ports ohne FOU_ATTR_IPPROTO mit -EINVAL fehlschlägt, während FOU_CMD_DEL und FOU_CMD_GET (die parse_nl_config() gemeinsam nutzen) unverändert bleiben.

Getestet wurde dies in QEMU gegen Linux 7.3.0-rc3 durch Senden einer Generic Netlink-Anfrage vom Typ FOU_CMD_ADD mit den Parametern FOU_ATTR_PORT = 5555 und FOU_ATTR_TYPE = FOU_ENCAP_DIRECT, wobei FOU_ATTR_IPPROTO weggelassen wurde. Beim nicht gepatchten Kernel gelingt der Aufruf von FOU_CMD_ADD (err = 0), FOU_CMD_GET meldet fou->type = 1 und fou->protocol = 0, und das Senden von 4000 UDP-Paketen an 127.0.0.1:5555 führt zum Leck aller 4000 sk_buffs (SUnreclaim in /proc/meminfo steigt von 41456 kB auf 59008 kB, +17552 kB); mit diesem Patch wird FOU_CMD_ADD mit -EINVAL (-22) abgelehnt.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

18.10.2026

Moderieren

akzeptiert

Eintrag

VDB-422035

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Want to know what is going to be exploited?

We predict KEV entries!