CVE-2026-99059 in Linux
Tóm tắt
Bởi VulDB • 23/10/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
wireguard: noise: từ chối việc tiêu thụ phản hồi (response) sau khi khởi tạo trung gian xảy ra
Hai luồng bắt đầu xử lý cùng một thông điệp phản hồi, được nhận hai lần. Luồng thứ nhất, A, chạy trước. Trong lúc nó đang thực thi, luồng thứ hai, B, tiến hành đến giữa chừng; và trong quá trình tính toán chậm chạp đó, hoặc thậm chí khi bị chặn bởi down_write(), luồng A hoàn tất và sau đó một khởi tạo handshake đã được xếp hàng chờ đợi cũng chạy trên luồng C, luồng này chính nó cũng gọi xuống (acquire) cùng khóa down_write(). Việc tạo khởi tạo handshake thành công, đặt lại trạng thái về "đang chờ phản hồi" (waiting-for-response), và gọi up_write(), tại thời điểm đó luồng B tiếp tục thực thi, vì hoặc là nó đã hoàn tất các phép tính của mình hoặc cuối cùng cũng được cho phép acquire khóa down_write(). Luồng B sau đó sao chép trạng thái trở lại peer và bắt đầu một phiên mới, sử dụng trạng thái này, vốn trùng với phiên do luồng A tạo ra.
Luồng A Luồng B Luồng C
down_read() sA = handshake->state memcpy(cA, handshake->crypto) up_read() if (sA != 1) goto fail slow_crypto(cA) down_read() sB = handshake->state memcpy(cB, handshake->crypto) up_read() if (sB != 1) goto fail slow_crypto(cB) down_write() if (sA != handshake->state) goto fail memcpy(handshake->crypto, cA) handshake->state = 2 up_write() down_write() if (handshake->state != 2) goto fail derive_session(handshake->crypto) up_write() down_write() slow_crypto(handshake->crypto) handshake->state = 1 up_write() down_write() if (sB != handshake->state) goto fail memcpy(handshake->crypto, cB) handshake->state = 2 up_write() down_write() if (handshake->state != 2) goto fail derive_session(handshake->crypto) up_write()
Điều này về cơ bản là không thể xảy ra theo cách có ý nghĩa trong thực tế, nhưng để đảm bảo rằng nó tuyệt đối không thể xảy ra, hãy so sánh khóa riêng tạm thời (ephemeral private key) nằm trên stack với khóa mới nhất mà trạng thái handshake của peer đang nắm giữ.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.