Lỗ hổng Rejetto HFS cho phép chiếm quyền quản trị do số ngẫu nhiên yếu
Tin tặc đang khai thác CVE-2026-61500 trong Rejetto HTTP File Server để giả mạo phiên đăng nhập của quản trị viên và thực thi mã. Lỗi này bắt nguồn từ một bộ tạo số giả ngẫu nhiên có thể dự đoán được.
Được dịch tự động từ bản gốc tiếng Anh.
Các nỗ lực khai thác tích cực đã được phát hiện nhằm vào một lỗ hổng nghiêm trọng trong Rejetto HTTP File Server (HFS), một công cụ chia sẻ tệp tự lưu trữ phổ biến. Công ty bảo mật VulnCheck báo cáo rằng các nhóm đe dọa đang nhắm mục tiêu vào lỗi này, được xác định là CVE-2026-61500, cho phép kẻ tấn công từ xa chiếm quyền kiểm soát quản trị và thực thi mã tùy ý trên các hệ thống dễ bị tổn thương.
Chuyện gì đã xảy ra
Lỗ hổng ảnh hưởng đến các phiên bản Rejetto HFS từ 3.0.0 đến 3.2.0. Nó có điểm CVSS là 9.3, chỉ ra mức độ nghiêm trọng ở cấp độ nguy hiểm (critical). Vấn đề cốt lõi nằm ở cách ứng dụng tạo khóa ký cho cookie phiên làm việc. Thay vì sử dụng phương pháp an toàn về mặt mật mã, phần mềm lại dựa vào hàm chuẩn Math.random() của JavaScript. Bộ tạo số giả ngẫu nhiên (PRNG) không mang tính mật mã này tạo ra các đầu ra có thể dự đoán được và bị đảo ngược bởi kẻ tấn công.
Trong quá trình đăng nhập, máy chủ tiết lộ các đầu ra từ cùng một PRNG này cho các khách hàng chưa xác thực. Bằng cách thu thập một số lượng nhỏ các phản hồi đăng nhập này, kẻ tấn công có thể tái tạo trạng thái nội bộ của bộ tạo. Khi biết được trạng thái, họ có thể dự đoán khóa ký cookie phiên làm việc. Với khóa này, kẻ tấn công giả mạo một cookie phiên quản trị hợp lệ, vượt qua hoàn toàn bước xác thực. Điều này cấp quyền truy cập quản trị đầy đủ vào máy chủ.
Mối nguy hiểm gia tăng vì API quản trị trong Rejetto HFS bao gồm một tính năng gọi là server_code. Tính năng này cho phép quản trị viên xác định các endpoint tùy chỉnh để thực thi mã JavaScript tùy ý trên máy chủ. Do đó, khi kẻ tấn công giành được đặc quyền quản trị thông qua phiên giả mạo, họ có thể sử dụng tính năng này để đạt được khả năng thực thi mã từ xa (RCE). Điều này tạo ra một con đường trực tiếp từ quyền truy cập mạng chưa xác thực đến sự xâm phạm toàn bộ hệ thống.
Bản vá cho lỗ hổng này đã được phát hành vào tháng 7 năm 2026 với phiên bản 3.2.1. Tuy nhiên, nhận thức công chúng và sự sẵn có của mã khai thác chậm hơn so với bản sửa lỗi. Vào cuối tháng 9 năm 2026, nhà nghiên cứu bảo mật Alejandro Ramos (được biết đến với tên aramosf) đã công bố một bằng chứng khái niệm (PoC) khai thác dựa trên Python. Ngay sau đó, vào ngày 30 tháng 9 năm 2026, nhà nghiên cứu Zach Hanley của Horizon3.ai đã công bố chi tiết lưu ý rằng mô hình Mythos của Anthropic đã giúp phát hiện ra lỗi này. Các nỗ lực khai thác lần đầu tiên được VulnCheck phát hiện vào ngày 1 tháng 10 năm 2026, nhắm mục tiêu vào các máy chủ tại Hoa Kỳ và Nhật Bản.
Cơ chế hoạt động
Cơ chế này dựa vào tính chất xác định của các PRNG tiêu chuẩn như Math.random(). Mặc dù các bộ tạo này trông có vẻ ngẫu nhiên đối với các tác vụ lập trình chung, nhưng chúng không được thiết kế cho mục đích bảo mật. Chúng hoạt động dựa trên giá trị hạt giống ban đầu và một thuật toán toán học. Nếu một người quan sát có thể thấy đủ đầu ra từ bộ tạo, họ có thể suy ra trạng thái hiện tại của thuật toán.
Trong Rejetto HFS, máy chủ sử dụng bộ tạo yếu này để tạo khóa bí mật dùng để ký cookie phiên làm việc. Quan trọng hơn, máy chủ cũng rò rỉ các đầu ra từ cùng một phiên bản bộ tạo trong quá trình bắt tay đăng nhập Secure Remote Password (SRP). Kẻ tấn công không cần phải đoán trực tiếp khóa. Thay vào đó, họ chặn các đầu ra PRNG bị rò rỉ từ một nỗ lực đăng nhập hợp pháp. Sử dụng các mẫu này, họ tái tạo trạng thái nội bộ của PRNG. Từ đó, họ có thể dự đoán mọi đầu ra trong tương lai, bao gồm cả giá trị cụ thể được sử dụng để ký cookie phiên quản trị. Điều này cho phép họ tạo ra một cookie mà máy chủ chấp nhận là hợp lệ, cấp cho họ quyền quản trị mà không cần biết bất kỳ mật khẩu nào.
Chi tiết chính
- ID lỗ hổng: CVE-2026-61500 với điểm CVSS là 9.3.
- Phiên bản bị ảnh hưởng: Rejetto HFS từ 3.0.0 đến 3.2.0.
- Nguyên nhân gốc rễ: Việc sử dụng
Math.random()không mang tính mật mã để tạo khóa phiên và sự rò rỉ trạng thái PRNG trong quá trình đăng nhập. - Tác động: Giả mạo phiên dẫn đến quyền truy cập quản trị đầy đủ và thực thi mã từ xa thông qua tính năng
server_code. - Trạng thái bản vá: Đã khắc phục trong phiên bản 3.2.1, phát hành vào tháng 7 năm 2026.
- Sự sẵn có của mã khai thác: PoC dựa trên Python công khai được Alejandro Ramos phát hành vào cuối tháng 9 năm 2026.
Tại sao điều này quan trọng
Đối với các nhà phát triển và trưởng nhóm IT quản lý cơ sở hạ tầng tự lưu trữ, sự cố này nhấn mạnh một cạm bẫy phổ biến nhưng nguy hiểm: sử dụng các hàm thư viện chuẩn cho các thao tác liên quan đến bảo mật. Math.random() rất phổ biến trong phát triển JavaScript cho các tác vụ như tạo giao diện người dùng hoặc cơ chế trò chơi. Tuy nhiên, tính có thể dự đoán của nó khiến nó trở nên chí tử đối với mật mã. Trường hợp này là lời nhắc nhở rõ ràng rằng ranh giới bảo mật phải được vẽ cẩn thận, đặc biệt là trong các ứng dụng phơi bày giao diện quản trị ra mạng.
Khoảng trễ giữa việc phát hành bản vá vào tháng 7 và các nỗ lực khai thác tích cực vào tháng 10 minh họa rủi ro của "các bản sửa lỗi im lặng". Nhiều tổ chức có thể đã cập nhật phần mềm nếu họ theo dõi chặt chẽ nhật ký thay đổi của nhà cung cấp, nhưng những tổ chức khác có khả năng vẫn dễ bị tổn thương vì mức độ nghiêm trọng không được công bố rộng rãi cho đến khi PoC xuất hiện. Sự tham gia của các mô hình AI trong việc phát hiện lỗi cũng gợi ý rằng các công cụ kiểm toán tự động đang trở nên tinh vi hơn, có khả năng tìm thấy việc sử dụng PRNG yếu tương tự trong các dự án mã nguồn mở khác.
Hơn nữa, đây là lỗ hổng lớn thứ hai bị khai thác trong Rejetto HFS gần đây. Vào tháng 7 năm 2024, CVE-2024-23692 đã được vũ khí hóa để phân phối phần mềm độc hại như HATVIBE và các trình đào tiền điện tử. Sự lặp lại của các nỗ lực khai thác tích cực chống lại phần mềm này chỉ ra rằng nó là một mục tiêu giá trị cao đối với các nhóm đe dọa. Các đội ngũ vận hành HFS phải coi nó là một thành phần rủi ro cao và đảm bảo cách ly nghiêm ngặt hoặc vá lỗi ngay lập tức.
Bạn có thể làm gì
- Nâng cấp ngay lập tức: Nếu bạn chạy Rejetto HFS, hãy cập nhật lên phiên bản 3.2.1 hoặc mới hơn. Phiên bản này thay thế PRNG yếu bằng một giải pháp thay thế an toàn.
- Kiểm toán các phụ thuộc: Kiểm tra các dịch vụ dựa trên JavaScript khác xem có sử dụng
Math.random()trong các ngữ cảnh bảo mật hay không, chẳng hạn như tạo token hoặc ký phiên. Thay thế chúng bằngcrypto.getRandomValues()hoặc các API an toàn tương đương. - Hạn chế truy cập mạng: Giới hạn việc phơi bày giao diện quản trị HFS. Sử dụng tường lửa hoặc proxy ngược để chỉ cho phép truy cập từ các địa chỉ IP tin cậy hoặc mạng nội bộ.
- Giám sát nhật ký: Tìm kiếm các mẫu đăng nhập bất thường hoặc các nỗ lực xác thực thất bại từ các IP không xác định. VulnCheck đã ghi nhận hoạt động trinh sát từ các IP cụ thể của China Telecom; hãy giám sát các bất thường tương tự.
- Tắt server_code: Nếu quy trình làm việc của bạn không yêu cầu các endpoint JavaScript tùy chỉnh, hãy tắt tính năng cấu hình
server_codeđể giảm thiểu tác động của các vụ xâm phạm tài khoản quản trị tiềm năng. - Xem xét các sự cố trước đó: Vì CVE-2024-23692 cũng đã bị khai thác tích cực, hãy xác minh rằng các hệ thống của bạn đã được vá cho lỗi trước đó để ngăn ngừa các lỗ hổng kết hợp.



