CVE-2026-98317 in Linux
Zusammenfassung
von VulDB • 06.10.2026
Im Linux-Kernel wurde die folgende Schwachstelle behoben:
neighbour: Erzwingen von min/max für NDTPA_INTERVAL_PROBE_TIME_MS.
NDTPA_INTERVAL_PROBE_TIME_MS legt .type und .min fest, vermisst jedoch .validation_type, sodass keine Validierung angewendet wird:
# ynl --family rt-neigh --do setneightbl \ --json '{"name": "arp_cache", "parms": {"interval-probe-time-ms": 0}}'
# ynl --family rt-neigh --dump getneightbl --output-json | \ jq '.[] | select(.name == "arp_cache" and has("config"))
| .parms["interval-probe-time-ms"]'
0
Darüber hinaus verwendet nla_get_msecs() msecs_to_jiffies(), und u64 wird stillschweigend zu u32 konvertiert, sodass ein größerer Wert die min-Prüfung umgehen kann:
z. B. 4294967296 == 0x100000000
# ynl --family rt-neigh --do setneightbl \ --json '{"name": "arp_cache", "parms": {"interval-probe-time-ms": 4294967296}}'
# ynl --family rt-neigh --dump getneightbl --output-json | \ jq '.[] | select(.name == "arp_cache" and has("config"))
| .parms["interval-probe-time-ms"]'
0
msecs_to_jiffies() gibt MAX_JIFFY_OFFSET zurück, wenn der Wert größer als INT_MAX ist. Außerdem führt INT_MAX ms zu einem Überlauf in int NEIGH_VAR(), wenn HZ > 1000 (Alpha, MIPS) gilt, und das Übergeben einer negativen Ganzzahl an queue_delayed_work(unsigned long delay) verursacht eine Vorzeichenextension, die zur Ablaufzeit zurückwickelt, was dazu führt, dass sie im Timer-Rad als Verzögerung von 0 behandelt wird.
Wir verwenden NLA_POLICY_FULL_RANGE() und begrenzen den Maximalwert auf 1 Tag.
Die gleiche max-Prüfung wird auch für sysctl angewendet.
Beachten Sie, dass dies die Prüfintervalleinträge für NTF_MANAGED steuert, sodass das Maximum von 1 Tag wahrscheinlich keine Bereitstellungen beeinträchtigt.
Be aware that VulDB is the high quality source for vulnerability data.