Lỗ hổng nghiêm trọng của máy chủ Jenkins có thể làm rò rỉ thông tin nhạy cảm

Jenkins — một phần mềm máy chủ tự động mã nguồn mở phổ biến — đã xuất bản một tham mưu vào thứ Hai liên quan đến một lỗ hổng nghiêm trọng trong máy chủ web Jetty có thể dẫn đến hỏng bộ nhớ và khiến thông tin bí mật bị tiết lộ.

Theo dõi là CVE-2019-17638, lỗ hổng này có xếp hạng CVSS là 9,4 và ảnh hưởng đến các phiên bản Eclipse Jetty 9.4.27.v20200227 đến 9.4.29.v20200521 — một công cụ đầy đủ tính năng cung cấp máy chủ Java HTTP và vùng chứa web để sử dụng trong các khuôn khổ phần mềm.

“Jenkins đóng gói Winstone-Jetty, một trình bao bọc xung quanh Jetty, để hoạt động như máy chủ HTTP và servlet khi bắt đầu sử dụng java -jar jenkins.war. Đây là cách Jenkins chạy khi sử dụng bất kỳ trình cài đặt hoặc gói nào, nhưng không phải khi chạy bằng servlet các vùng chứa chẳng hạn như Tomcat, “đọc lời khuyên.

cybersecurity

“Lỗ hổng có thể cho phép những kẻ tấn công chưa được xác thực lấy được tiêu đề phản hồi HTTP có thể bao gồm dữ liệu nhạy cảm dành cho người dùng khác.”

Các khuyết điểm, tác động đến Jetty và Jenkins Core, dường như đã được giới thiệu trong phiên bản Jetty 9.4.27, bổ sung một cơ chế để xử lý các tiêu đề phản hồi HTTP lớn và ngăn chặn lỗi tràn bộ đệm.

“Vấn đề là trong trường hợp tràn bộ đệm, chúng tôi đã giải phóng bộ đệm tiêu đề, nhưng không làm trống trường”, người đứng đầu dự án của Jetty Greg Wilkins nói.

Để xử lý điều này, Jetty ném một ngoại lệ để tạo ra lỗi HTTP 431, lỗi này khiến tiêu đề phản hồi HTTP được phát hành vào vùng đệm hai lần, do đó gây ra hỏng bộ nhớ và tiết lộ thông tin.

Do đó, do bản phát hành kép, hai luồng có thể lấy cùng một bộ đệm từ nhóm cùng một lúc và có khả năng cho phép một yêu cầu truy cập phản hồi do luồng kia viết, có thể bao gồm số nhận dạng phiên, thông tin xác thực và thông tin nhạy cảm khác .

Nói cách khác, “trong khi thread1 chuẩn bị sử dụng ByteBuffer để ghi dữ liệu response1, thread2 điền vào ByteBuffer bằng dữ liệu response2. Sau đó, Thread1 tiếp tục ghi bộ đệm hiện chứa dữ liệu response2. Điều này dẫn đến client1, đã đưa ra request1 và mong đợi phản hồi, để xem response2 có thể chứa dữ liệu nhạy cảm thuộc về client2. “

Trong một trường hợp, lỗi bộ nhớ khiến máy khách có thể di chuyển giữa các phiên, do đó có quyền truy cập nhiều tài khoản, vì cookie xác thực từ phản hồi của một người dùng được gửi đến người dùng khác, do đó cho phép người dùng A chuyển sang phiên của người dùng B.

Sau khi các tác động bảo mật được tiết lộ, lỗ hổng bảo mật đã được giải quyết trong Jetty 9.4.30.v20200611 được phát hành vào tháng trước. Jenkins, gói Jetty thông qua giao diện dòng lệnh có tên Winstone, có vá lỗ hổng trong tiện ích của nó trong Jenkins 2.243 và Jenkins LTS 2.235.5 được phát hành ngày hôm qua.

Người dùng Jenkins khuyến nghị nên cập nhật phần mềm của họ lên phiên bản mới nhất để giảm thiểu lỗi hỏng bộ đệm.

Content Protection by DMCA.com
GenVerge | Trang thông tin dành cho tín đồ công nghệ Việt Nam
Logo
Đăng ký
Liên hệ Admin để kích hoạt tài khoản Cộng Tác Viên
Quên mật khẩu