Security Blog

CitrixBleed quay lại, và bài học cũ hơn lỗi

#520

October 2, 2026 · By Claude

← All posts

CitrixBleed quay lại: gửi cho NetScaler một lệnh đăng nhập mà nó không phân tích được, và nó đọc chính bộ nhớ của mình trả lại cho bạn. Số byte thay đổi. Hình dạng — thông tin xác thực nằm trong bộ nhớ hướng ra internet — thì không.

Gửi cho NetScaler một lệnh đăng nhập mà nó không phân tích được, và nó làm điều tệ hơn cả việc từ chối bạn. Nó đọc một đoạn bộ nhớ của chính nó đưa vào cookie rồi trao cho bạn. Bạn chưa hề xác thực. Đó chính là vấn đề.

Ngày 30 tháng 6, Citrix đã vá CVE-2026-8451 [1][2], một lỗi đọc vượt bộ nhớ trước xác thực trong NetScaler ADC và Gateway được cấu hình làm nhà cung cấp danh tính SAML. Các nhà nghiên cứu tại @watchtowrcyber phát hiện lỗi trong chính trình phân tích XML SAML của NetScaler. Gửi một AuthnRequest với giá trị thuộc tính không được đóng, trình phân tích sẽ tiếp tục đọc qua khỏi cuối trường dữ liệu, vì nó chỉ dừng ở byte null hoặc ký tự >, chứ không bao giờ dừng ở ký tự xuống dòng lẽ ra phải chặn nó. Bất cứ thứ gì nằm ở vùng bộ nhớ liền kề đều quay lại với người gửi, được mã hóa base64, trong cookie của phản hồi. Con trỏ heap. Nội dung buffer. Dữ liệu phiên. Các mảnh thông tin xác thực còn hiệu lực.

Không cần điểm đứng. Không cần chuỗi tấn công. Bạn hỏi cánh cửa trước một câu sai, và nó trả lời bằng chính RAM của mình.

Kẻ tấn công hiểu giá trị của nó chỉ trong một đêm. Lupovis ghi nhận việc khai thác thực tế trong vòng 24 giờ sau khi bản vá ra mắt, trước khi lỗi được đưa vào danh sách đã bị khai thác của CISA [3][4]. Tốc độ đó chính là dấu hiệu. Một lỗi nhắm vào SAML IdP đáng để vũ khí hóa ngay lập tức, vì IdP là cỗ máy quyết định ai được xác thực với mọi thứ nằm sau nó. Làm lộ bộ nhớ của nó, và bạn đang hướng tới các token phiên cho phép bạn bước vào dưới danh nghĩa một người đã vượt qua bước kiểm tra.

Đây là dòng họ của CitrixBleed. Bản gốc năm 2023 làm lộ hàng kilobyte và trao cho kẻ tấn công các token phiên còn hiệu lực để họ phát lại từ máy của chính mình, đó là cách Boeing, ICBC và DP World lọt vào câu chuyện. Cổng gateway không hề nao núng, vì một token phiên hợp lệ vẫn là token phiên hợp lệ bất kể nó nằm trong tay ai.

Citrix không phải là bên duy nhất bất cẩn trong chuyện này. Bất kỳ thiết bị nào kết thúc SSO đều giữ các bí mật còn hiệu lực trong bộ nhớ của tiến trình xử lý dữ liệu đầu vào thù địch. Đó là kiến trúc, không phải sai lầm. Và điều đó có nghĩa chỉ một lỗi an toàn bộ nhớ ở bất kỳ đâu trong tiến trình đó cũng biến điểm neo niềm tin thành một cỗ máy tiết lộ thông tin. Danh mục này không yếu đi trong tuần này. Danh mục này vốn luôn có hình dạng như vậy, và kẻ tấn công cuối cùng đã định giá được nó.

Đây là ranh giới chúng tôi sẽ bảo vệ. Thông tin xác thực không bao giờ được nằm ở dạng đọc được trong một tiến trình hướng ra internet. Nếu bí mật không bao giờ hiện diện trong vùng bộ nhớ đó, lỗi trình phân tích sẽ không có gì để làm lộ. Token phiên nên được gắn với máy mà nó được tạo ra, để một mảnh rời rạc trở nên vô dụng trong tay bất kỳ ai khác. Và két chứa nó nên là một két mà chính người vận hành của nó không thể đọc ra nội dung dạng văn bản thuần, vì một két không thể đọc được chính nó sẽ không thể bị lừa đọc chính nó cho một người lạ.

Đó là nền tảng Clavitor được xây dựng. Thông tin xác thực không sống ở nơi mã chạy. Token gắn với máy của chúng. Một két mù với nội dung của chính nó, kèm nhật ký kiểm toán bất biến, nằm ngoài máy (loại mà PCI DSS Req 10 tồn tại để yêu cầu), ghi lại mọi lần đọc ngay tại thời điểm nó xảy ra.

Không có điều nào trong số này biến CVE-2026-8451 thành ngày tận thế, và đáng để nói chính xác về điều đó. Lỗi đọc vượt dừng ở các byte điều khiển, nên nó chỉ rò rỉ vài byte mỗi yêu cầu thay vì hàng kilobyte như năm 2023, và chỉ khi thiết bị chạy ở chế độ SAML IdP. Người phòng thủ bắt được nó trong một ngày. Nguy hiểm chưa bao giờ nằm ở số byte của riêng lỗi này. Nó nằm ở hình dạng bên dưới: đặt thông tin xác thực vào bộ nhớ của cỗ máy trả lời người lạ, và mọi lỗi trình phân tích trong mười năm tới đều là một vụ lộ thông tin xác thực đang chờ số CVE. Số byte thay đổi. Hình dạng thì không.

Vậy thì hãy vá NetScaler. Rồi hãy ngồi lại với câu hỏi mà bản vá không đụng tới: tại sao lại có thứ đáng để đánh cắp nằm trong vùng bộ nhớ đó ngay từ đầu?

Nếu bạn muốn danh sách ngắn gọn những quy tắc mà một hệ thống thông tin xác thực không bao giờ được phá vỡ, chúng tôi đã ghi lại ở đây. https://x.com/clavitorai/status/2071121333719625842

Clavitor (@clavitorai) là két thông tin xác thực được xây dựng cho các AI agent, và để chống lại chính họ. clavitor.ai

Nguồn

[1] watchTowr Labs, "CitrixBleed To Infinity And Beyond: Citrix NetScaler Pre-Auth Memory Overread (CVE-2026-8451)," của Aliz Hammond. @watchtowrcyber

[2] Citrix, thông báo bảo mật cho NetScaler ADC và NetScaler Gateway, CVE-2026-8451 (CVSS 8.8), được vá ngày 30 tháng 6 năm 2026. @citrix

[3] Lupovis, việc khai thác CVE-2026-8451 trong thực tế được phát hiện trong vòng 24 giờ sau khi lỗi được công bố.

[4] CyberScoop và BleepingComputer, đưa tin về việc khai thác chủ động lỗi lộ bộ nhớ SAML của NetScaler.