- Claude Code của Anthropic đã tự động phát hiện một lỗ hổng có thể bị khai thác từ xa trong nhân Linux, tìm ra lỗi tràn bộ đệm heap trong trình điều khiển NFS chưa từng bị phát hiện suốt 23 năm
- Chỉ với lời nhắc đơn giản “lỗ hổng bảo mật nằm ở đâu?”, nó đã phân tích toàn bộ nhân và xác định lỗ hổng gần như không cần giám sát
- Lỗi này bắt nguồn từ thiết kế bộ đệm cố định 112 byte trong mã nhân năm 2003, và sau đó phát sinh khi thêm phép toán LOCK nhưng không giới hạn độ dài owner ID
- Ngoài ra, Carlini còn tìm thấy hàng trăm lỗ hổng tiềm ẩn khác trong nhân, nhưng phần lớn vẫn chưa được báo cáo do nút thắt xác minh bởi con người
- Mô hình Claude Opus 4.6 mới nhất cho thấy năng lực phát hiện vượt trội hơn hẳn các phiên bản trước, được đánh giá là một bước ngoặt của nghiên cứu bảo mật dựa trên AI
Claude Code phát hiện lỗ hổng Linux bị ẩn suốt 23 năm
- Nhà nghiên cứu Nicholas Carlini của Anthropic đã dùng Claude Code để phát hiện nhiều lỗ hổng có thể bị khai thác từ xa trong nhân Linux
- Một trong số đó là lỗ hổng tràn bộ đệm trong trình điều khiển NFS (Network File System) chưa từng bị phát hiện suốt 23 năm
- Carlini nói rằng ông “chưa từng tự mình tìm ra loại lỗ hổng này”, và bày tỏ sự ngạc nhiên trước hiệu năng của Claude Code
-
Cách Claude Code phát hiện lỗ hổng
- Claude Code phát hiện các lỗ hổng bảo mật trong nhân Linux gần như không cần giám sát
- Carlini chỉ đưa lời nhắc đơn giản “lỗ hổng bảo mật nằm ở đâu?” và cấu hình để nó duyệt toàn bộ mã nguồn của nhân
- Script được dùng thiết lập để với mỗi tệp, Claude Code giả định bối cảnh CTF (cuộc thi hacking) và ghi lỗ hổng nghiêm trọng nhất vào
/out/report.txt
- Dùng lệnh
find để duyệt mọi tệp, rồi chạy lặp lại để Claude Code tìm lỗ hổng trong từng tệp
- Hệ thống được thiết kế để không báo cáo trùng lặp cùng một lỗ hổng, nên mọi tệp trong nhân được phân tích riêng lẻ
-
Lỗ hổng NFS (Network File System)
- Lỗ hổng chính mà Claude Code phát hiện là tràn bộ đệm heap trong trình điều khiển Linux NFS, cho phép kẻ tấn công đọc bộ nhớ nhân qua mạng
- Kịch bản tấn công được thực hiện với hai máy khách NFS phối hợp (Client A, Client B) cùng nhắm vào một máy chủ NFS
- Client A yêu cầu khóa tệp bằng owner ID dài 1024 byte và được chấp thuận
- Sau đó Client B yêu cầu khóa cùng tệp, khi đó máy chủ từ chối và tạo thông điệp phản hồi
- Vấn đề là bộ đệm cho phản hồi từ chối này chỉ có kích thước 112 byte, trong khi thông điệp thực tế khi gồm owner ID lại có tổng cộng 1056 byte
- Kết quả là nhân ghi 1056 byte vào bộ đệm 112 byte, khiến dữ liệu do kẻ tấn công kiểm soát ghi đè lên bộ nhớ nhân
- Khi báo cáo lỗ hổng này, Claude Code còn tự động tạo và đính kèm cả sơ đồ giao thức ASCII
-
Vì sao suốt 23 năm không bị phát hiện
- Lỗi này bắt nguồn từ đoạn mã được đưa vào nhân Linux từ tháng 3/2003
- Khi đó, thông điệp commit nêu rõ
NFSD4_REPLAY_ISIZE là bộ đệm cố định 112 byte đủ cho các thao tác NFSv4 như OPEN, CLOSE
- Về sau khi thêm phép toán LOCK, giới hạn độ dài owner ID không được tính đến, dẫn tới lỗ hổng
- Đây là thay đổi có từ trước khi Git được đưa vào sử dụng (2005), nên thuộc về nền mã rất cũ mà hiện nay thậm chí không thể liên kết trực tiếp
-
Hàng trăm lỗ hổng bổ sung vẫn chưa được báo cáo
- Carlini còn phát hiện thêm hàng trăm lỗ hổng tiềm ẩn trong nhân Linux,
nhưng phần lớn vẫn chưa được báo cáo do nút thắt trong quá trình xác minh bởi con người
- Ông cho biết: “Không thể gửi kết quả chưa được xác minh cho các maintainer của nhân, vì vậy vẫn còn hàng trăm vụ crash chưa được xác nhận”
- Tính đến nay, các lỗ hổng mà Carlini trực tiếp sửa hoặc báo cáo được xác nhận là 5 trường hợp
nfsd: fix heap overflow in NFSv4.0 LOCK replay cache
io_uring/fdinfo: fix OOB read in SQE_MIXED wrap check
futex: Require sys_futex_requeue() to have identical flags
ksmbd: fix share_conf UAF in tree_conn disconnect
ksmbd: fix signededness bug in smb_direct_prepare_negotiation()
-
Sự phát triển của phát hiện lỗ hổng dựa trên AI
- Carlini đã dùng Claude Opus 4.6 (ra mắt trước đó 2 tháng) để phát hiện lỗ hổng này
- Các phiên bản trước như Opus 4.1 (8 tháng trước) và Sonnet 4.5 (6 tháng trước) không tái hiện được cùng kết quả
- Mô hình mới nhất có thể phát hiện nhiều lỗ hổng hơn hẳn
- Ông dự đoán rằng “trong vài tháng tới, khi cả nhà nghiên cứu lẫn kẻ tấn công đều nhận ra sức mạnh của các mô hình AI này, một làn sóng phát hiện lỗ hổng bảo mật quy mô lớn sẽ xuất hiện”
-
Công bố và thông tin khác
- Nội dung này đã được trình bày tại [un]prompted AI security conference 2026
- Trường hợp Claude Code phát hiện lỗ hổng được xem là ví dụ cho thấy AI có thể nâng cao mạnh mẽ năng suất nghiên cứu bảo mật trong thực tế
2 bình luận
Phiên bản hy vọng: phát hiện lỗ hổng Linux
Phiên bản tuyệt vọng: loại bỏ bounding của curl
Ý kiến trên Hacker News
Không có gì ngạc nhiên. Chỉ là có một điểm bài báo không nhắc tới: Claude Code cũng đã tìm ra 1.000 bug dương tính giả, và các nhà phát triển mất 3 tháng để lọc chúng ra
Dán một đống mã mới vào rồi hỏi Claude “Mình đã bỏ sót gì? Có bug ở đâu?” là cách tiếp cận rất thuyết phục cho các lập trình viên mới làm quen với AI. Nó đặc biệt giỏi tìm nhanh bug về luồng hoặc bug hệ thống phân tán. Chắc giờ này hàng loạt mã crypto đang được phân tích
Gọi đây là bug “ẩn giấu” thì không chuẩn bằng nói rằng “chẳng ai xem xét nó”. Cấu trúc mã là ghi 1056 byte vào một bộ đệm 112 byte. Đây là loại vấn đề mà trình phân tích tĩnh cũng bắt được khá dễ, nhưng nếu bảo LLM “hãy kiểm tra mọi bộ đệm kích thước cố định” thì có thể lẫn cả kết quả ảo giác. Dù vậy, đây vẫn là điểm khởi đầu tốt
Điều thú vị là trong 5 bug được phát hiện, có lẽ 3~4 cái đã được giảm thiểu bởi bản vá linux-hardened. Ví dụ như vô hiệu hóa io_uring, làm kernel crash khi UAF xảy ra, ngăn việc khai thác heap overflow, v.v.
Kiểu công bố “Chúng tôi phát hành một vũ khí nguy hiểm, hãy giúp làm cho thế giới an toàn hơn. Nhưng trước hết hãy trả phí thuê bao” nghe thật nực cười. Cứ như một nhà sinh hóa thả ra bom hóa học rồi nói “muốn chặn thứ này thì trả tiền đi”. Ngành phần mềm dạo này đúng là đầy mỉa mai
Tôi đã tái hiện thử nghiệm trên nhiều codebase production, và thấy có rất nhiều bug trùng lặp, dương tính giả, và không thể khai thác. Dù vậy, cũng có khá nhiều lỗ hổng nghiêm trọng thực sự (crit)
Trong phần Q&A của buổi công bố, tôi tò mò về video chạy ở phía sau. Đó có phải là demo exploit khai thác bug NFS qua mạng USB không?
Đây là công việc liên quan của phòng thí nghiệm bảo mật chỗ chúng tôi. Chỉ riêng năm nay, chúng tôi đã tìm ra 23 lỗ hổng bằng tác nhân bảo mật AI
Có vẻ lượng 0-day dự trữ của các cơ quan 3 chữ cái (tình báo) sẽ giảm mạnh
Đừng mong đợi sẽ có thêm nhiều báo cáo lỗ hổng; hãy chuẩn bị cho nhiều nỗ lực tấn công hơn