Một loạt các lỗ hổng libssh2 nghiêm trọng có thể phơi bày các ứng dụng máy khách SSH và SFTP trước nguy cơ hỏng bộ nhớ, sự cố hệ thống và khả năng thực thi mã từ xa. Những rủi ro này phát sinh khi kết nối với một máy chủ độc hại, ảnh hưởng đến tính toàn vẹn và bảo mật của các hệ thống sử dụng thư viện này.
libssh2 là một thư viện C được sử dụng rộng rãi, cung cấp hỗ trợ cho giao thức SSH2 trong nhiều ứng dụng khác nhau. Các ứng dụng này bao gồm công cụ quản trị từ xa, nền tảng truyền tải tệp, công cụ triển khai tự động, nền tảng sao lưu và các máy khách SFTP.
Các Lỗ hổng libssh2 nghiêm trọng được công bố
Bốn lỗ hổng đã được tiết lộ vào ngày 24 tháng 7 năm 2026, ảnh hưởng đến các phiên bản libssh2 từ 1.11.1 trở về trước. Mỗi lỗ hổng đã được khắc phục thông qua các bản vá riêng biệt được phát hành bởi nhà phát triển.
Chi tiết CVE-2026-66032: Lỗi Double-Free trong sftp_open()
Lỗi nghiêm trọng nhất trong số các lỗ hổng này là CVE-2026-66032, một lỗi double-free nằm trong hàm sftp_open() thuộc tệp src/sftp.c. Lỗ hổng này được gán điểm CVSS 8.7 và được phân loại là CWE-415 (Double Free). Lỗi double-free cho phép kẻ tấn công giải phóng cùng một vùng bộ nhớ hai lần, dẫn đến các điều kiện không ổn định.
Lỗ hổng này xảy ra sau khi một máy khách đã được xác thực mở một phiên SFTP. Một máy chủ SSH độc hại có thể phản hồi yêu cầu SSH_FXP_OPEN bằng một trạng thái thành công được chế tạo. Trong một số điều kiện lỗi nhất định, libssh2 vô tình giải phóng cùng một bộ đệm dữ liệu phản hồi hai lần.
Trên các hệ thống sử dụng trình cấp phát heap glibc, điều này có thể dẫn đến việc trùng lặp tcache và chồng lấn các phân bổ bộ nhớ. Kẻ tấn công có thể khai thác tình trạng này để làm hỏng bộ nhớ ứng dụng và có khả năng ghi đè các con trỏ hàm, dẫn đến thực thi mã tùy ý. Lỗ hổng này đã được khắc phục trong commit 5e47761. Độc giả có thể tham khảo thêm thông tin chi tiết về cảnh báo CVE này tại Vulncheck Advisory.
Chi tiết CVE-2026-66033: Lỗi Integer Underflow và Out-of-Bounds Read
Vấn đề thứ hai, CVE-2026-66033, ảnh hưởng đến hàm ssh2_cipher_crypt() trong tệp src/openssl.c. Đây là một lỗ hổng pre-authentication với điểm CVSS 8.7, liên quan đến các điểm yếu về integer underflow và out-of-bounds read.
Một máy chủ độc hại có khả năng đàm phán mã hóa AES-GCM trong quá trình bắt tay SSH. Điều này có thể kích hoạt một lỗi underflow trong tính toán kích thước gói. Hậu quả là gây ra một thao tác đọc ngoài giới hạn (out-of-bounds read) và gọi hàm memcpy() với một giá trị kích thước gần tối đa. Điều này dẫn đến sự cố máy khách ngay lập tức trước khi xác thực. Bản vá bảo mật cho vấn đề này có sẵn trong commit a2ed82d. Thông tin chi tiết có sẵn tại Vulncheck Advisory.
Chi tiết CVE-2026-66034: Lỗi Heap Out-of-Bounds Read trong Public-Key Subsystem
Hai lỗ hổng bổ sung cũng có thể dẫn đến hỏng bộ nhớ. Trong đó, CVE-2026-66034 tác động đến hệ thống con khóa công khai (public-key subsystem).
Một máy chủ độc hại có thể cung cấp một giá trị độ dài không an toàn, khiến trình phân tích cú pháp đọc vượt quá bộ đệm heap đã được cấp phát. Đường dẫn xử lý lỗi cũng có thể giải phóng một con trỏ chưa được khởi tạo. Lỗ hổng libssh2 này đã được khắc phục trong commit a13bb6c. Xem thêm chi tiết tại Vulncheck Advisory.
Chi tiết CVE-2026-66035: Lỗi Heap Buffer Overflow Pre-Authentication
CVE-2026-66035 là một lỗi heap buffer overflow pre-authentication được tìm thấy trong hàm fullpacket() thuộc tệp src/transport.c.
Trong quá trình đàm phán mã hóa Encrypt-then-MAC (ETM), một máy chủ độc hại có thể gửi một gói nhỏ hơn kích thước khối mã hóa đã được đàm phán. Điều này dẫn đến việc thư viện cấp phát một bộ đệm không đủ và sao chép nhiều dữ liệu hơn khả năng chứa của nó, gây ra lỗi tràn bộ đệm. Lỗ hổng này được xử lý trong commit 42e33d8. Để biết thêm thông tin về lỗ hổng libssh2 này, tham khảo Vulncheck Advisory.
Khuyến nghị và Biện pháp khắc phục để tăng cường bảo mật mạng
Các tổ chức được khuyến nghị mạnh mẽ cập nhật libssh2 lên phiên bản đã bao gồm cả bốn bản vá. Việc triển khai các bản vá bảo mật này là rất quan trọng để đảm bảo an toàn thông tin.
Ngoài ra, các đội ngũ bảo mật cần xác định bất kỳ gói phần mềm nào tĩnh đính kèm libssh2. Lý do là việc chỉ cập nhật gói hệ điều hành có thể không giải quyết được tất cả các ứng dụng bị ảnh hưởng bởi các lỗ hổng libssh2 này.
Để duy trì an ninh mạng mạnh mẽ, việc thường xuyên kiểm tra và cập nhật các thư viện phụ thuộc là một phần không thể thiếu của chiến lược bảo mật mạng. Đây là một cảnh báo CVE quan trọng yêu cầu sự chú ý kịp thời từ các quản trị viên hệ thống và nhà phát triển.










