Katalog CVE

CVE-2026-98317

Niskie ryzyko· EPSS 8%
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.18%

Percentyl 8 - wyżej niż 8% wszystkich znanych CVE

Streszczenie

W jądrze Linuxa wykryto podatność w mechanizmie walidacji parametru NDTPA_INTERVAL_PROBE_TIME_MS dla tabel sąsiedztwa (np. ARP). Brak walidacji typu pozwala ustawić wartość 0 lub bardzo dużą (np. 4294967296), co prowadzi do nieprawidłowego działania timera i potencjalnego obejścia zabezpieczeń.

Ocena ryzyka

Atakujący z uprawnieniami do konfiguracji sieci może ustawić nieprawidłowe wartości interwału sondowania, co może prowadzić do zakłócenia działania protokołów sąsiedztwa, opóźnień w komunikacji lub niestabilności sieci.

Rekomendacja

Zastosuj aktualizację jądra Linux zawierającą poprawkę wymuszającą zakres wartości (min/max) dla NDTPA_INTERVAL_PROBE_TIME_MS. Ogranicz dostęp do konfiguracji sieci tylko dla zaufanych administratorów.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: neighbour: Enforce min/max to NDTPA_INTERVAL_PROBE_TIME_MS. NDTPA_INTERVAL_PROBE_TIME_MS sets .type and .min but misses .validation_type, so no validation is applied: # 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 Moreover, nla_get_msecs() uses msecs_to_jiffies(), and u64 is silently cast to u32, so a larger value can bypass the min check: e.g. 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() returns MAX_JIFFY_OFFSET if the value is larger than INT_MAX. Also, INT_MAX ms overflows int NEIGH_VAR() when HZ > 1000 (Alpha, MIPS), and passing a negative integer to queue_delayed_work(unsigned long delay) causes sign extension, which wraps around the expiry time to the past, resulting in it being handled as 0 delay in the timer wheel. Let's use NLA_POLICY_FULL_RANGE() and limit the max to 1 day. The same max check is applied to sysctl as well. Note that this controls the probe interval for NTF_MANAGED entries, so the max of 1 day is unlikely to break any deployments.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS