Lỗi đọc thiếu buffer trong Apache Software Foundation Apache Tomcat có thể trộn phản hồi và làm lộ dữ liệu

Lưu ý: Dữ liệu này chỉ có tính chất tham khảo, phục vụ nghiên cứu an ninh mạng.CyStack khuyến nghị người dùng không sử dụng các thông tin này nhằm các mục đích bất hợp pháp

Lỗ hổng CVE-2026-103119 là gì?

Lỗ hổng CVE-2026-103119 là lỗ hổng Buffer Under-read ảnh hưởng tới Apache Tomcat (phiên bản bị ảnh hưởng: 11.0.0-M25 – ≤ 11.0.26). Lỗ hổng này được xếp hạng ở mức Nghiêm trọng, với điểm CVSS 9.1. Các nguồn hiện có chưa ghi nhận lỗ hổng này bị khai thác.

Giới thiệu chung

Dữ liệu gốc

Lỗi bảo mật đọc thiếu buffer trong Apache Tomcat có nghĩa là một lần ghi non-blocking lớn có thể khiến phần thân phản hồi bị tách giữa yêu cầu hiện tại và yêu cầu kế tiếp nhận được trên kết nối đó, nhiều khả năng dẫn đến yêu cầu thứ hai thất bại và có thể làm lộ dữ liệu từ phản hồi thứ nhất cho phản hồi thứ hai. Lỗi này ảnh hưởng đến Apache Tomcat: từ 11.0.0-M25 đến 11.0.26. Người dùng được khuyến nghị nâng cấp lên phiên bản 11.0.27, phiên bản khắc phục lỗi.

Sản phẩm và phạm vi ảnh hưởng

  • Apache Tomcat từ 11.0.0-M25 đến và bao gồm 11.0.26 được xác định là bị ảnh hưởng.
  • Apache Tomcat 11.0.27 được xác định là phiên bản khắc phục lỗi.
  • Bản ghi được cung cấp chỉ xác định phạm vi của nhánh Apache Tomcat 11 này. Trạng thái của các nhánh song song, các bản phân phối đóng gói khác hoặc các phiên bản không nằm trong phạm vi nêu trên chưa được xác lập trong bằng chứng hiện có.

Chi tiết kỹ thuật

Lỗi được phân loại là CWE-127 Buffer under-read trong Apache Tomcat. Khi một lần ghi phản hồi non-blocking có kích thước lớn xảy ra, Tomcat có thể đọc thiếu dữ liệu từ buffer, khiến phần thân phản hồi bị tách giữa yêu cầu hiện tại và yêu cầu kế tiếp trên cùng một kết nối. Kẻ tấn công có thể tiếp cận từ xa bằng cách gửi các yêu cầu trên kết nối được tái sử dụng; dữ liệu chuẩn hóa cho biết không cần xác thực hoặc tương tác của người dùng. Red Hat mô tả điều kiện khai thác thực tế hẹp hơn, gồm ứng dụng sử dụng asynchronous non-blocking write, dữ liệu đủ lớn để gây phân mảnh buffer, kết nối được tái sử dụng và thời điểm yêu cầu phù hợp. Bằng chứng hiện có không xác định cấu trúc buffer, ngưỡng kích thước, hàm nội bộ hoặc cấu hình cụ thể gây kích hoạt lỗi.

Khả năng khai thác

Lỗi có thể bị tiếp cận qua mạng và yêu cầu kế tiếp không cần xác thực hoặc tương tác của người dùng theo dữ liệu chuẩn hóa. Điều kiện thực tế phụ thuộc vào việc ứng dụng có sử dụng asynchronous non-blocking write, tạo phản hồi đủ lớn và cho phép tái sử dụng kết nối hay không. Red Hat lưu ý rằng việc khai thác đáng tin cậy còn phụ thuộc vào timing chính xác và logic ứng dụng chuyên biệt, vì vậy khả năng khai thác thực tế có thể khác đáng kể giữa các triển khai. Bản ghi đánh dấu không có public exploit, nhưng trường trạng thái known exploited không được cung cấp; điều này không chứng minh rằng không thể khai thác hoặc chưa từng có khai thác. Không có bằng chứng được trả về về chiến dịch, nạn nhân hoặc hoạt động lạm dụng cụ thể.

Tác động kỹ thuật

Lỗi có thể làm phần thân phản hồi bị phân chia giữa yêu cầu hiện tại và yêu cầu kế tiếp trên cùng kết nối. Kết quả kỹ thuật có thể gồm rò rỉ dữ liệu từ phản hồi trước và lỗi xử lý yêu cầu sau, dẫn đến ảnh hưởng bảo mật dữ liệu và tính sẵn sàng. Phạm vi ảnh hưởng được mô tả là giữa các yêu cầu hoặc phiên dùng chung kết nối; không có bằng chứng về thay đổi dữ liệu, leo thang đặc quyền hoặc thực thi mã. Mức độ phơi nhiễm thực tế phụ thuộc vào nội dung phản hồi trước, khả năng tái sử dụng kết nối và việc ứng dụng có dùng non-blocking write hay không.

Tác động đến tổ chức

Việc trộn phản hồi có thể làm lộ dữ liệu dành cho yêu cầu trước đó cho một bên gửi yêu cầu tiếp theo trên cùng kết nối. Tùy nội dung phản hồi, dữ liệu ứng dụng hoặc thông tin nhạy cảm có thể bị tiết lộ, nhưng bằng chứng hiện có không xác định loại dữ liệu hay nạn nhân cụ thể. Yêu cầu kế tiếp nhiều khả năng thất bại, gây lỗi hiển thị cho người dùng, retry và gián đoạn dịch vụ. Bản ghi không mô tả việc sửa đổi dữ liệu, leo thang đặc quyền hoặc chiếm quyền điều khiển.

Cách khắc phục

  1. Nâng cấp Apache Tomcat từ phạm vi bị ảnh hưởng lên 11.0.27, là phiên bản được nguồn Apache xác định khắc phục lỗi.
  2. Với package, container image hoặc bản phân phối do bên khác đóng gói, áp dụng bản cập nhật của nhà cung cấp tương ứng và xác minh phiên bản Apache Tomcat thực tế sau khi triển khai.
  3. Ưu tiên kiểm tra các ứng dụng sử dụng asynchronous hoặc non-blocking response write và connection reuse trong quá trình lập kế hoạch nâng cấp.
  4. Bằng chứng hiện có không xác định một cấu hình giảm thiểu tạm thời đáng tin cậy. Nếu chưa thể nâng cấp, cần coi các triển khai đáp ứng điều kiện runtime nêu trên là còn phơi nhiễm và tăng cường kiểm tra lỗi phản hồi giữa các yêu cầu.

Cách phát hiện

  • Kiểm kê các tiến trình, package, container image và bản cài đặt nhúng đang chạy Apache Tomcat, sau đó đối chiếu với phạm vi phiên bản bị ảnh hưởng.
  • Xác định các ứng dụng sử dụng asynchronous hoặc non-blocking response write, đặc biệt khi các kết nối HTTP có thể được tái sử dụng.
  • Rà soát telemetry và báo cáo lỗi để tìm các yêu cầu kế tiếp thường xuyên thất bại hoặc phản hồi bị sai nội dung giữa hai yêu cầu trên cùng kết nối. Đây là dấu hiệu cần điều tra, không phải IOC đã được xác nhận.
  • Kiểm tra phản ánh từ client hoặc kiểm thử tích hợp về việc dữ liệu của phản hồi trước xuất hiện trong phản hồi sau. Việc không thấy dấu hiệu này trong log không chứng minh hệ thống an toàn.
  • Xác nhận kết quả bằng inventory phiên bản và trạng thái package sau khi nâng cấp, thay vì chỉ dựa vào hành vi bình thường của dịch vụ.
Nguồn (14)
Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.