CVE-2026-93565 in Netty
Tóm tắt
Bởi VulDB • 18/09/2026
### Tóm tắt
Hàm `RtspMethods.valueOf()` tự động loại bỏ các byte điều khiển ở cuối (bất kỳ ký tự nào có mã điểm <= 0x20, tức là toàn bộ phạm vi mà hàm `String.trim()` sẽ xóa) trước khi thực hiện tra cứu cache đối với mười hằng số phương thức đã được khởi tạo sẵn. Một yêu cầu RTSP gửi qua đường truyền (wire-delivered) có token phương thức kết thúc bằng một byte điều khiển ở cuối — ví dụ: `PLAY\x00` hoặc `PLAY\r`, ngay trước khoảng cách phân tách — sẽ được `RtspDecoder` giải mã như một yêu cầu PLAY thành công hoàn toàn, với `decoderResult().isSuccess() == true` và `request.method() == RtspMethods.PLAY` (cùng tham chiếu đối tượng với singleton đã lưu trong cache). Lớp ứng dụng không thể phân biệt trường hợp này với một yêu cầu `PLAY` sạch.
Đây là cùng nguyên nhân gốc rễ như #16723 và #16971, nhưng xảy ra ở một module liên quan mà các bản sửa lỗi đó chưa触及 đến (chưa bao phủ). Bản sửa lỗi cho `HttpMethod` đã tăng cường bảo mật trực tiếp đối với hàm `HttpMethod.valueOf()`, tuy nhiên, `RtspMethods.valueOf()` có lệnh gọi độc lập là `checkNonEmptyAfterTrim()` chạy trước khi tra cứu cache — điều này có nghĩa là một token chứa byte điều khiển ở cuối sẽ được đưa vào cache trước khi constructor của `HttpMethod` đã được tăng cường bảo mật kịp xử lý nó.
### Cách tái hiện (Reproduction)
Tái hiện mức độ đường truyền tối thiểu:
Gửi các byte thô sau đến bất kỳ máy chủ RTSP nào dựa trên Netty bằng cách sử dụng R
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.