Lỗ hổng trong OpenOffice cho phép thực thi mã khi mở tệp

Một lỗ hổng (CVE-2021-33035) đã được xác định trong bộ ứng dụng văn phòng Apache OpenOffice, cho phép thực thi mã khi mở một tệp được thiết kế đặc biệt ở định dạng DBF. Nhà nghiên cứu đã phát hiện ra sự cố đã cảnh báo về việc tạo một lỗ hổng hoạt động cho nền tảng Windows. Bản sửa lỗi lỗ hổng hiện chỉ có ở dạng bản vá trong kho dự án, được bao gồm trong các bản dựng thử nghiệm của OpenOffice 4.1.11. Chưa có cập nhật nào cho chi nhánh ổn định.

Vấn đề xảy ra là do OpenOffice dựa vào các giá trị fieldLength và fieldType trong tiêu đề của tệp DBF để cấp phát bộ nhớ mà không kiểm tra xem kiểu dữ liệu thực tế trong các trường có khớp hay không. Để thực hiện một cuộc tấn công, bạn có thể chỉ định loại INTEGER trong giá trị fieldType, nhưng đặt dữ liệu lớn hơn và chỉ định giá trị fieldLength không tương ứng với kích thước của dữ liệu với loại INTEGER, điều này sẽ dẫn đến phần đuôi của dữ liệu từ trường được ghi ngoài bộ đệm được phân bổ. Do tràn bộ đệm được kiểm soát, nhà nghiên cứu có thể xác định lại con trỏ trả về từ hàm và sử dụng các kỹ thuật lập trình hướng trả về (ROP - Lập trình hướng trả về), đạt được việc thực thi mã của mình.

Khi sử dụng kỹ thuật ROP, kẻ tấn công không cố gắng đặt mã của mình vào bộ nhớ mà hoạt động trên các đoạn lệnh máy đã có sẵn trong các thư viện đã tải, kết thúc bằng lệnh trả về điều khiển (theo quy định, đây là phần cuối của các chức năng thư viện) . Công việc khai thác bao gồm việc xây dựng một chuỗi lệnh gọi đến các khối tương tự (“tiện ích”) để có được chức năng mong muốn. Các tiện ích được sử dụng trong khai thác OpenOffice là mã từ thư viện libxml2 được sử dụng trong OpenOffice, không giống như OpenOffice, được biên dịch mà không có cơ chế bảo vệ DEP (Ngăn chặn thực thi dữ liệu) và ASLR (Ngẫu nhiên bố cục không gian địa chỉ).

Các nhà phát triển OpenOffice đã được thông báo về vấn đề này vào ngày 4 tháng 30, sau đó việc tiết lộ công khai về lỗ hổng này được lên kế hoạch vào ngày 18 tháng 4.1.11. Do bản cập nhật cho nhánh ổn định không được hoàn thành trước ngày dự kiến, nhà nghiên cứu đã hoãn tiết lộ thông tin chi tiết đến ngày 2021 tháng 38646, nhưng các nhà phát triển OpenOffice đã không quản lý để tạo bản phát hành XNUMX trước ngày này. Đáng chú ý là trong cùng một nghiên cứu, một lỗ hổng tương tự đã được xác định trong mã hỗ trợ định dạng DBF trong Microsoft Office Access (CVE-XNUMX–XNUMX), chi tiết về lỗ hổng này sẽ được tiết lộ sau. Không tìm thấy vấn đề gì trong LibreOffice.

Nguồn: opennet.ru

Thêm một lời nhận xét