Lỗi null pointer dereference trong BFD Library của GNU Binutils gây từ chối dịch vụ cục bộ

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-2025-8224 là gì?

Lỗ hổng CVE-2025-8224 là lỗ hổng thuộc các loại NULL Pointer Dereference và Improper Resource Shutdown or Release, ảnh hưởng tới Binutils (phiên bản bị ảnh hưởng: 2.44). Lỗ hổng này được xếp hạng ở mức Trung bình, với điểm CVSS 4.8. Lỗ hổng này đã có mã hoặc bằng chứng khai thác công khai, nhưng điều đó chưa xác nhận việc khai thác trong thực tế.

Giới thiệu chung

Dữ liệu gốc

Một lỗ hổng đã được phát hiện trong GNU Binutils 2.44 và được phân loại là có vấn đề. Lỗ hổng này ảnh hưởng đến hàm bfd_elf_get_str_section của tệp bfd/elf.c thuộc thành phần BFD Library. Việc thao túng dẫn đến null pointer dereference. Cần có quyền truy cập cục bộ để thực hiện cuộc tấn công này. Exploit đã được công khai và có thể được sử dụng. Tên của bản vá là db856d41004301b3a56438efd957ef5cabb91530. Khuyến nghị áp dụng bản vá để khắc phục sự cố này.

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

  • Sản phẩm bị ảnh hưởng: GNU Binutils 2.44.
  • Thành phần: BFD Library, cụ thể là hàm bfd_elf_get_str_section trong bfd/elf.c.
  • Trạng thái nhánh: Bản ghi chuẩn hóa chỉ xác nhận 2.44 là affected. Không có dữ liệu đủ tin cậy để kết luận trạng thái của các nhánh hoặc phiên bản khác.
  • Bản sửa: Có bản vá được xác nhận trong hồ sơ, nhưng không có số phiên bản phát hành đã sửa được cung cấp. Không nên suy luận rằng mọi phiên bản mới hơn hoặc nhánh song song đều đã an toàn.

Chi tiết kỹ thuật

Lỗi nằm trong hàm bfd_elf_get_str_section của tệp bfd/elf.c, thuộc thành phần BFD Library. Dữ liệu đầu vào được thao túng có thể khiến hàm sử dụng một con trỏ chưa hợp lệ và dẫn đến null pointer dereference. Điều kiện khai thác được ghi nhận là cần quyền truy cập cục bộ; hồ sơ cũng cho biết yêu cầu đặc quyền thấp, độ phức tạp thấp và không cần tương tác của người dùng. Bản ghi hiện có không mô tả cấu trúc ELF bị lỗi cụ thể, điều kiện chính xác khiến con trỏ ở trạng thái null, hoặc toàn bộ đường đi gọi hàm.

Khả năng khai thác

  • Đây là lỗi có thể tiếp cận cục bộ, không phải lỗi được mô tả là khai thác trực tiếp qua mạng.
  • Kẻ tấn công cần quyền truy cập cục bộ với đặc quyền thấp. Hồ sơ ghi nhận độ phức tạp khai thác thấp và không cần người dùng tương tác.
  • Exploit đã được công khai và có thể được sử dụng; VulDB mô tả trạng thái là proof of concept.
  • Bằng chứng hiện có không nêu một chiến dịch, nạn nhân hoặc trường hợp khai thác thực tế cụ thể.

Tác động kỹ thuật

Null pointer dereference có thể làm tiến trình đang xử lý dữ liệu binary bị crash, dẫn đến từ chối dịch vụ hoặc gián đoạn tác vụ. Phạm vi ảnh hưởng được mô tả là cục bộ và không làm thay đổi đặc quyền của tiến trình theo thông tin hiện có. Hồ sơ ghi nhận tác động chính lên tính sẵn sàng, không xác lập ảnh hưởng đến tính bí mật, tính toàn vẹn, thực thi mã hoặc leo thang đặc quyền. Trong môi trường build dùng chung, hậu quả tổ chức có thể là job thất bại, gián đoạn phân tích binary hoặc chậm trễ phát hành.

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

  • Một lần kích hoạt thành công có thể làm công cụ sử dụng BFD Library dừng bất thường, khiến tác vụ build, link, phân tích hoặc kiểm tra binary bị gián đoạn.
  • Trong môi trường CI/CD hoặc build dùng chung, việc xử lý đầu vào độc hại có thể làm thất bại job, kéo dài thời gian phát hành hoặc cần chạy lại pipeline.
  • Rủi ro chính là suy giảm tính sẵn sàng của tiến trình và dịch vụ phụ thuộc vào công cụ. Bản ghi không chứng minh mất dữ liệu, thay đổi tính toàn vẹn hoặc thực thi mã tùy ý.
  • Tác động thực tế phụ thuộc vào việc hệ thống có xử lý đầu vào do người dùng cục bộ kiểm soát hay không và công cụ có chạy trong quy trình tự động hay không.

Cách khắc phục

  1. Áp dụng bản vá của GNU Binutils hoặc bản cập nhật do nhà phân phối cung cấp cho cài đặt bị ảnh hưởng. Hồ sơ xác nhận bản vá đã có, nhưng không cung cấp một fixed release cụ thể.
  2. Kiểm tra lại toàn bộ các nhánh và gói Binutils được đóng gói lại bởi hệ điều hành hoặc nhà cung cấp. Không suy luận trạng thái an toàn của nhánh khác chỉ từ việc bản vá tồn tại.
  3. Nếu chưa thể vá, hạn chế quyền truy cập cục bộ vào các công cụ xử lý binary và tránh đưa tệp ELF không tin cậy vào quy trình có sử dụng BFD Library. Đây là biện pháp giảm rủi ro tạm thời, không thay thế bản vá.
  4. Sau khi cập nhật, xác nhận phiên bản gói thực tế trên từng máy, kiểm tra các môi trường build và chạy lại quy trình xử lý binary đại diện để bảo đảm thành phần đã được cập nhật đồng bộ.

Cách phát hiện

  • Kiểm kê các máy và môi trường phát triển đang cài GNU Binutils, sau đó xác định phiên bản của gói chứa BFD Library.
  • Xác định các hệ thống cho phép người dùng cục bộ hoặc quy trình tự động đưa tệp ELF không tin cậy vào công cụ sử dụng BFD Library.
  • Đối chiếu phiên bản đã kiểm kê với bản vá hoặc bản cập nhật do GNU Binutils, nhà phân phối hệ điều hành hoặc nguồn bảo trì cung cấp.
  • Rà soát crash report, core dump và việc chấm dứt bất thường của các công cụ xử lý binary sau khi chúng đọc dữ liệu ELF đáng ngờ. Đây là biện pháp giám sát phòng ngừa, không phải IOC đã được xác nhận.
  • Bản ghi không cung cấp log event hoặc IOC riêng biệt; việc không thấy crash không chứng minh hệ thống đã an toàn.
Nguồn (24)
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.

Khám phá các giải pháp khác liên quan