Các nhà nghiên cứu bảo mật vừa chỉ ra rằng một bảng tính độc hại có thể khiến LibreOffice và Apache OpenOffice thực thi mã của kẻ tấn công ngay khi tệp được mở. Đáng chú ý, không hề có bất kỳ cảnh báo nào xuất hiện trước đó, tương tự như loại cảnh báo mà cả hai chương trình thường hiển thị trước khi chạy một macro.
Cuộc tấn công này chỉ hoạt động khi hỗ trợ Java của chương trình được kích hoạt. Cho đến nay, nó mới chỉ được trình diễn dưới dạng Proof of Concept (PoC) và chưa có báo cáo nào về việc lỗ hổng này bị khai thác trong các cuộc tấn công thực tế.
Tình trạng vá lỗi hiện tại
LibreOffice đã khắc phục lỗ hổng này, được theo dõi với mã định danh CVE-2026-63277, trong các bản cập nhật phát hành vào ngày 5 tháng 10. Các chuyên gia khuyến nghị người dùng nên chuyển sang phiên bản 26.2.5 hoặc 26.8.0. Các phiên bản trước đó đều bị ảnh hưởng.
Ngược lại, Apache OpenOffice vẫn chưa khắc phục lỗ hổng tương ứng, được theo dõi là CVE-2026-59265. Mọi phiên bản cho đến bản phát hành hiện tại là 4.1.16 đều bị ảnh hưởng. Dự án cho biết bản vá dự kiến sẽ có trong phiên bản 4.1.17, hiện vẫn đang trong quá trình thử nghiệm.
Trong thời gian chờ đợi, người dùng Apache OpenOffice có thể ngăn chặn cuộc tấn công bằng cách tắt hỗ trợ Java trong cài đặt của chương trình hoặc tuyệt đối không mở các bảng tính từ những nguồn không đáng tin cậy.
Cơ chế tấn công: Sự kết hợp của các tính năng hợp lệ
Cuộc tấn công kết hợp các tính năng vốn hoạt động bình thường khi đứng riêng lẻ. Một bảng tính Calc trong LibreOffice hoặc Apache OpenOffice có thể chứa một "database range" (vùng dữ liệu) — một khối các ô tự động lấy dữ liệu từ nguồn bên ngoài và tự làm mới. Nguồn bên ngoài đó có thể là một tệp cơ sở dữ liệu riêng biệt (ODB), được xác định thông qua một địa chỉ web ghi trực tiếp trong bảng tính.
Khi bảng tính được mở, vùng dữ liệu sẽ thực hiện làm mới và chương trình tự động tải tệp ODB từ địa chỉ web đó. Tệp ODB có thể chỉ định một trình điều khiển cơ sở dữ liệu Java, được gọi là JDBC driver, và trỏ đến nơi chứa mã của trình điều khiển đó. Đó có thể là một tệp JAR (gói mã Java) nằm trên một máy chủ từ xa. Sau đó, chương trình sẽ tải tệp JAR và khởi chạy trình điều khiển — thực tế chính là mã độc của kẻ tấn công — ngay bên trong ứng dụng.
Các nhà nghiên cứu nhấn mạnh rằng vấn đề bảo mật nằm ở chỗ: khi các tính năng này kết hợp với nhau, chúng có thể đạt được khả năng thực thi mã mà không bao giờ yêu cầu người dùng xác nhận tin cậy tài liệu, không giống như cách chương trình luôn hỏi ý kiến trước khi chạy macro.
Thử nghiệm trên nhiều hệ điều hành
Trong bản Proof of Concept, trình điều khiển chỉ đơn giản là mở ứng dụng Calculator (Máy tính) — một ví dụ vô hại — nhưng con đường tương tự có thể chạy bất kỳ mã Java nào mà kẻ tấn công lựa chọn. Các nhà nghiên cứu đã thử nghiệm thành công trên cả Windows và Linux, cho thấy lỗ hổng này không phụ thuộc vào một hệ điều hành cụ thể.
Trong bản trình diễn của mình, các tệp độc hại được đặt trên cùng một máy để thuận tiện. Tuy nhiên, họ cảnh báo rằng trong một cuộc tấn công thực tế, tệp cơ sở dữ liệu và mã độc sẽ được đặt trên một máy chủ do kẻ tấn công kiểm soát.
Lỗ hổng trong LibreOffice được báo cáo độc lập bởi Rick de Jager từ đội ngũ bảo mật V12, cùng với Thomas Rinsma và Edoardo Geraci từ Codean Labs. Apache cũng ghi nhận Codean Labs vì đã phát hiện lỗ hổng tương ứng trên OpenOffice. Đội ngũ V12 đã công bố mã khai thác thử nghiệm cho cả hai chương trình, và Caolán McNamara từ Collabora Productivity là người viết bản vá cho LibreOffice.