Powrót do strony głównej

Podatność NFS Linux: 23 lata do wykrycia Claude

Nicolas Carlini za pomocą Claude Code odkrył 23-letnią podatność heap overflow w sterowniku NFS Linuksa. Metoda — prosty skrypt przeszukiwania plików z promptem CTF. Postęp modeli przyspiesza audyt, ale wymaga ręcznej weryfikacji.

23-letni błąd NFS w Linuxie wykrył Claude Code
Advertisement 728x90

# Claude Code odkrył 23-letnią lukę w sterowniku NFS Linuksa

Badacz z Anthropic, Nicholas Carlini, na konferencji [un]prompted 2026 zademonstrował, jak Claude Code wykrywa zdalnie eksploatowalne luki w jądrze Linuksa. Wśród odkryć — przepełnienie sterty w sterowniku NFS, istniejące od 2003 roku. Metoda analizy jest prosta: skrypt kolejno przesyła każdy plik źródłowy jądra do modelu z promptem „Uczestniczysz w sorevnovaniu CTF. Znajdź lukę”. Taki sposób pozwolił wykryć kilka poważnych defektów bez skomplikowanej orkiestracji.

Szczegóły przepełnienia sterty w NFS

Luka w sterowniku NFS pojawia się podczas obsługi odrzucenia drugiej blokady pliku. Serwer generuje odpowiedź zawierającą identyfikator właściciela o długości do 1024 bajtów. Lokalny bufor odpowiedzi ma limit 112 bajtów, co powoduje przepełnienie o 1056 - 112 = 944 bajty. Atakujący może kontrolować nadpisywaną pamięć jądra.

Bufor został zdefiniowany w commicie z 2003 roku, poprzedzającym wprowadzenie Gita, dlatego w repozytorium nie ma bezpośredniego odnośnika. To klasyczny out-of-bounds write, eksploatowalny zdalnie za pośrednictwem protokołu NFS.

Google AdInline article slot

Postęp modeli językowych w polowaniu na błędy

Carlini podkreślił ewolucję modeli:

  • Claude Opus 4.1 (8 miesięcy temu) i Sonnet 4.5 znajdowały ograniczoną liczbę luk.
  • Opus 4.6 wykrywa znacznie więcej defektów.

W git-nie jądrach już pięć patchy od Carlini. Dodatkowo setki awarii czekają na ręczną weryfikację — czynnik ludzki stał się wąskim gardłem. „Mam tyle błędów, że nie nadążam z ich zgłaszaniem. Nie wyślę maintainerom niepotwierdzonego bubla”, — wyjaśnił badacz.

Skalowanie wyszukiwania luk

Skrypt do automatyzacji wygląda jak prosty cykl:

Google AdInline article slot
for file in $(find kernel -name '*.c' -o -name '*.h'); do
  echo "File: $file" | claude-code "You uchastvuesh in CTF-sorevnovanii. Onydi uyazvimost"
done

To podejście nadaje się do dowolnego dużego codebase'u. Model skupia się na całym pliku, ignorując kontekst projektu.

Zalety metody:

  • Pełne pokrycie: przeszukanie wszystkich plików.
  • Rola CTF wzmacnia fokus na exploitach.
  • Minimalna konfiguracja: bez fine-tuning czy RAG.

Ograniczenia:

Google AdInline article slot
  • Fałszywe pozytywy wymagają ręcznej kontrole.
  • Skala: tysiące plików generują setki raportów.
  • Zależność od jakości modelu.

Co ważne

  • Przepełnienie sterty w sterowniku NFS (CVE w oczekiwaniu) umożliwia zdalną nadpisanie pamięci jądra od 2003 roku.
  • Prosty skrypt + Claude Code skaluje audyt na cały codebase jądra.
  • Postęp LLM: Opus 4.6 jest wielokrotnie skuteczniejszy od poprzedników.
  • Wąskie gardło to ręczna walidacja; spodziewana fala patchy.
  • Audytorzy i atakujący jednocześnie wzmacniają swoje narzędzia.

Perspektywy zautomatyzowanego audytu

Metoda Carlini demokratyzuje fuzzing jądra. Deweloperzy średniego/senior poziomu mogą dostosować skrypt do swoich projektów: zastąpić prompt zadaniem (memory safety, TOCTOU, race conditions). Integracja z CI/CD pozwoli na codzienne skany.

Michael Lynch prognozuje: w najbliższych miesiącach fala luk z jądra, libc, sterowników. Ręczna code review nie nadąża za LLM. Rekomendacja — wdrożyć podejście hybrydowe: model + ekspercka weryfikacja.

Dla specjalistów NFS: monitorujcie patche w fs/nfs. Podobne bufory mogą kryć się w innych systemach plików (Samba, XFS).

— Editorial Team

Advertisement 728x90

Czytaj dalej