Họ phát hiện ra một lỗi trong thư viện libcue và nó ảnh hưởng trực tiếp đến Gnome

dễ bị tổn thương

Nếu bị khai thác, những lỗ hổng này có thể cho phép kẻ tấn công truy cập trái phép vào thông tin nhạy cảm hoặc thường gây ra sự cố

Nó được biết đến thông tin về một lỗ hổng (đã được phân loại theo CVE-2023-43641) đã được xác định trong thư viện libcue, được sử dụng để phân tích siêu dữ liệu với thông tin về thứ tự và thời lượng của các bản âm thanh.

Đối với những người chưa biết về libcue, bạn nên biết rằng đó là một thư viện đã sử dụng để phân tích các trang tham khảo, một định dạng của siêu dữ liệu để mô tả bố cục của các bản nhạc trên đĩa CD. Các bảng cheat thường được sử dụng kết hợp với định dạng tệp âm thanh FLAC, có nghĩa là libcue là phần phụ thuộc của một số trình phát âm thanh.

Người ta đề cập rằng mức độ nghiêm trọng của lỗ hổng là do thực tế là điều này cho phép thực thi mã khi xử lý tệp tín hiệu thiết kế đặc biệt. Ngoài ra, thư viện libcue được sử dụng trong công cụ tìm kiếm thợ mỏ theo dõi được sử dụng trong môi trường người dùng Gnome.

Vì công cụ khai thác theo dõi tự động lập chỉ mục tập tin phương tiện mới trong thư mục chính, để tấn công hệ thống GNOME và thực thi mã của kẻ tấn công, tất cả những gì người dùng phải làm là chỉ cần thêm một tệp được thiết kế đặc biệt vào một trong các thư mục sau ~/Downloads, ~/Music hoặc e trong thư mục Video mà không cần phải mở nó (ví dụ: trong một số trường hợp, chỉ cần nhấp vào liên kết trong trình duyệt).

Kiến trúc hai quy trình của trình khai thác trình thu thập thông tin rất hữu ích cho việc khai thác. Trước hết, việc dự đoán bố cục bộ nhớ trong một quy trình mới bắt đầu sẽ dễ dàng hơn nhiều so với quy trình đã chạy hàng giờ, vì vậy việc trích xuất theo dõi chỉ bắt đầu theo yêu cầu là rất thuận tiện.

Thậm chí tốt hơn, trình theo dõi-extract luôn tạo một luồng mới để quét tệp đã tải xuống và tôi thấy rằng bố cục vùng heap trong trường malloc của luồng rất nhất quán: nó khác nhau giữa các bản phân phối...

Về tính dễ bị tổn thương, người ta đề cập rằng điều này là do tràn số nguyên trong mã phân tích tham số INDEX và xảy ra khi các giá trị số quá lớn được chỉ định trong tham số này không phù hợp với loại "int".

Trong một ví dụ đơn giản:

TRACK 01 TÊN ÂM THANH "Never Gonna Give You Up" ...
CHỈ SỐ 01 00:00:00
TRACK 02 TÊN ÂM THANH "Bất Cứ Khi Nào Bạn Cần Ai Đó" ...
CHỈ SỐ 01 03:35:00

Lỗ hổng nằm trong việc xử lý cú pháp INDEX, xảy ra khi thay thế một trong những câu lệnh đó. Điều này sẽ kích hoạt lỗi:

CHỈ SỐ 4294567296 0

Để chuyển đổi một chuỗi thành một số, hàm atoi được sử dụng, ví dụ: Nếu bạn chỉ định số 4294567296, nó sẽ được chuyển đổi thành -400000. Lỗ hổng này trực tiếp xảy ra do việc không kiểm tra giá trị kết quả để đảm bảo rằng nó có thể âm. Phần thứ hai của vấn đề (và đây là lỗ hổng thực sự) là track_set_index không được kiểm tra i ≥ 0:

void track_set_index(Track *track, int i, long ind) { if (i > MAXINDEX) { fprintf(stderr, "quá nhiều chỉ mục\n"); trở lại; } track->index[i] = ind;

Lỗ hổng xảy ra do đoạn mã sau khi chuyển đổi atoi, thao tác được thực hiện, trong đó “i” có thể được gán một số âm để ghi đè lên vùng bộ nhớ bên ngoài bộ đệm với giá trị “ind”, giá trị này cũng được tải từ tập tin đang được xử lý.

Các nhà nghiên cứu xác định lỗ hổng đề cập rằng Họ đã chuẩn bị một khai thác chức năng và chứng minh khả năng khai thác các môi trường dựa trên Ubuntu 23.04 và Fedora 38. Mã khai thác sẽ được công bố sau để người dùng có thời gian cài đặt bản cập nhật giúp loại bỏ lỗ hổng bảo mật. Việc khai thác hoạt động ổn định nhưng cần có sự thích ứng cho từng bản phân phối.

Trong hầu hết các bản phân phối Gnome, trình khai thác theo dõi được bật theo mặc định và được tải dưới dạng phần phụ thuộc vật lý của trình quản lý tệp Nautilus (tệp Gnome). Người ta đề cập rằng công cụ khai thác theo dõi có thể bị người dùng vô hiệu hóa trực tiếp. Bạn có thể kiểm tra chi tiết để có thể tắt công cụ khai thác theo dõi trong liên kết theo dõi.

Cuối cùng nếu bạn muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết trong liên kết theo dõi.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.