221
2101
Virus - Hacker
virus-hacker
/cntt/virus-hacker/
496542
Phát hiện nhiều lỗ hổng trong thư viện libpng
1
Article
2081
CNTT - Viễn thông
cntt
/cntt/
Phát hiện nhiều lỗ hổng trong thư viện libpng
,

Một loạt các lỗ hổng bảo mật vừa được phát hiện trong libpng - thư viện tham khảo của định dạng ảnh PNG (Portable Network Graphics) rất phổ biến của thế giới nguồn mở, có thể khiến hệ thống máy tính sử dụng libpng bị hacker lợi dụng để xâm nhập và ăn trộm dữ liệu, phá hoại... 

libpng là một thư viện tham khảo phổ biến sẵn có cho các nhà phát triển ứng dụng để hỗ trợ định dạng ảnh PNG (Portable Network Graphics) - định dạng được dùng như một lựa chọn thay thế cho các định dạng ảnh khác trên mạng như GIF hoặc JPG. 

Mô tả các lỗ hổng

Một số lỗ hổng bảo mật đang tồn tại trong thư viện libpng vừa được phát hiện, với những lỗi nghiêm trọng nhất có thể cho phép một kẻ tấn công từ xa thực thi một đoạn mã chương trình bất kỳ trên hệ thống có lỗ hổng.

Đối tượng bị nguy cơ bảo mật này đe doạ là tất cả mọi hệ thống sử dụng thư viện tham khảo libpng để hỗ trợ xử lý định dạng ảnh PNG. Các thông tin chi tiết hơn có trong các mô tả lỗ hổng riêng biệt dưới đây:

VU#388984 - libpng fails to properly check length of transparency chunk (tRNS) data: libpng không thể kiểm tra chính xác chiều dài của dữ liệu khối nền ảnh trong suốt. Một lỗi tràn bộ đệm đã được phát hiện trong quá trình thư viện libpng xử lý các hình ảnh PNG. Điểm ỵếu này có thể cho phép một kẻ tấn công từ xa thực thi đoạn mã tuỳ ý trên một hệ thống có lỗ hổng bằng cách gửi tới một hình ảnh PNG được cấu tạo đặc biệt tinh vi.

VU#236656 - libpng png_handle_iCCP() NULL pointer dereference: Trong một số trường hợp, một con trỏ null (null pointer) có thể đã không còn được tra cứu (dereferenced) trong một quá trình phân bổ bộ nhớ của hàm png_handle_iCCP(). Kết quả: Một hình ảnh PNG với các đặc điểm riêng biệt có thể khiến ứng dụng có lỗi bị sập và treo hệ thống. Các lỗi tương tự đã được thông báo tồn tại trong các vị trí khác của thư viện libpng.

VU#160448 - libpng integer overflow in image height processing: Biến số libpng tràn bộ nhớ trong khi xử lý chiều cao ảnh. Một lỗi tràn bộ nhớ biến kiểu số nguyên tồn tại trong quá trình quản lý chiều cao ảnh PNG trong hàm png_read_png(). Kết quả, một ảnh PNG có chiều cao quá mức có thể khiến một biến số nguyên tràn bộ nhớ trong hoạt động phân bổ bộ nhớ, có thể dẫn tới việc ứng dụng bị treo.

VU#477512 - libpng png_handle_sPLT() integer overflow: Một lỗi biến số nguyên tiềm ẩn tồn tại trong hoạt động phân bổ bộ nhớ nằm trong trong chức năng png_handle_sPLT(). Hiện chưa rõ ảnh hưởng thực tế của lỗi này có thể gây ra đối với ứng dụng sử dụng libpng.

VU#817368 - libpng png_handle_sBIT() performs insufficient bounds checking: Một lỗi kiểm tra không hợp lệ tồn tại trong hàm png_handle_sBIT(). Một lỗi khác tương tự cũng có trong hàm png_handle_hIST().

VU#286464 - libpng contains integer overflows in progressive display image reading: Thư viện libpng cung cấp khả năng hiển thị kết hợp các hình ảnh PNG. Một số lỗi tràn bộ nhớ tiềm ẩn tồn tại trong quá trình libpng điều khiển các hình ảnh hiển thị kết hợp này. Mặc dù mã chương trình có chứa các lỗi này, nhưng chưa rõ ảnh hưởng thực tế.

Giải pháp nào?

Trong trường hợp VU#388984, kẻ tấn công có khả năng đưa một hình ảnh PNG được cấu tạo tinh vi để cho xử lý với ứng dụng có lỗi, khiến cho ứng dụng này bị treo hoặc thực hiện các mã lệnh phá hoại với các đặc quyền người dùng cấp cao trên ứng dụng bị lỗi.

Trong trường hợp VU#236656 và VU#160448, kẻ tấn công có khả năng đưa ra một hình ảnh PNG đặc biệt tới ứng dụng có lỗi, khiến ứng dụng có thể bị treo.

Những ảnh hưởng của các lỗi liệt kê còn lại phía trên hiện chưa xác định rõ.

Một kẻ tấn công từ xa có thể khiến ứng dụng bị treo hoặc thực thi mã lệnh phá hoại bằng cách thuyết phục người dùng nạn nhân truy cập vào một website của hắn được thiết kế để khai thác lỗ hổng, hoặc dụ nạn nhân xem e-mail có chứa một hình ảnh PNG đặc biệt.

Sau đây là các giải pháp phòng trị:

- Áp dụng một bản sửa lỗi hoặc nâng cấp.

- Áp dụng bản sửa lỗi phù hợp hoặc nâng cấp thư viện libpng mà nhà cung cấp của bạn khuyến nghị. Với các nhà cung cấp cụ thể, đề nghị hãy truy cập vào website của họ để xem các thông báo về lỗi của thư viện libpng.

- Với những cá nhân sử dụng nguồn thư viện libpng nguyên bản, không qua nhà cung cấp, hãy nâng cấp lên phiên bản thư viện libpng version 1.2.6rc1 (release candidate 1) để khắc phục toàn bộ các lỗi này.

Bình Minh (Theo US-CERT)

,
Ý kiến của bạn
Ý kiến bạn đọc
,
,
,
,