Phát hiện lỗ hổng zero-day nghiêm trọng trong PHP7

16:36 | 10/01/2017

Ba lỗ hổng zero-day nghiêm trọng đã được phát hiện trong PHP 7 có thể cho phép kẻ tấn công kiểm soát trên 80% các trang web sử dụng phiên bản mới nhất của ngôn ngữ lập trình này.



Các lỗ hổng nghiêm trọng được phát hiện nằm trong cơ chế unserialized trong phiên bản PHP 7 cho phép tin tặc kiểm soát website trên nền tảng quản trị nội dung Drupal, Joomla, Magento, vBulletin, PornHub và máy chủ web khác bằng việc gửi các gói tin độc hại gây trong client cookies.

Serialize (array) là phương thức dùng để chuyển một mảng (Array) hoặc đối tượng (Object) thành chuỗi (String) dữ liệu theo chuẩn của PHP để lưu trữ hoặc truyền tải. Khi muốn chuyển dữ liệu lại thành lại một mảng hoặc phương thức thì sử dụng phương thức unserialize.

Nhóm nghiên cứu bảo mật ở Check Point đã dành nhiều tháng kiểm tra các cơ chế unserialized trong PHP 7 và phát hiện “ba lỗ hổng mới chưa từng biết đến trước đây”. Bên cạnh đó, còn phát hiện ra lỗ hổng trong cơ chế tương tự tìm thấy trong PHP 5.

Các lỗ hổng zero-day CVE-2016-7479, CVE-2016-7480, và CVE–2016-7478 có thể được khai thác một cách tương tự như một lỗ hổng (CVE-2015-6832) trước đó được báo cáo vào tháng 8/2016 của Check Point.

• CVE-2016-7479—Use-After-Free Code Execution (Lỗ hổng thực thi sau khi giải phóng bộ nhớ)

• CVE-2016-7480—Use of Uninitialized Value Code Execution (Lỗ hổng xảy ra khi một biến không có giá trị)

• CVE-2016-7478—Remote Denial of Service (Lỗ hổng từ chối dịch vụ từ xa)

Hai lỗ hổng đầu tiên, nếu khai thác thành công sẽ cho phép tin tặc có toàn quyền kiểm soát máy chủ mục tiêu, lây lan phần mềm độc hại để ăn cắp dữ liệu khách hàng hoặc thay đổi giao diện website. Lỗ hổng thứ ba có thể được khai thác để tấn công từ chối dịch vụ (DoS) làm cạn kiệt hoặc có thể làm ngưng trệ hoạt động của hệ thống mục tiêu.

Theo nhóm nghiên cứu Yannay Livneh của Check Point, chưa ghi nhận cuộc tấn công nào bằng việc khai thác 3 lỗ hổng này. Các nhà nghiên cứu đã cảnh báo 3 lỗ hổng zero-day này cho nhóm bảo mật PHP vào ngày 6/8 và ngày 15/9, 2 trong số 3 lỗ hổng đã được phát hành bản vá ngày 13/10 và 01/12. Tuy nhiên, một trong số chúng vẫn chưa được vá.

Bên cạnh các bản vá lỗi, IPS Point cũng phát hành IPS signatures cho 3 lỗ hổng vào ngày 18 và 31/10 để bảo vệ người dùng chống lại bất kỳ cuộc tấn công cho việc khai thác các lỗ hổng này. 

Để đảm bảo an toàn cho máy chủ web, người dùng được khuyến khích nâng cấp máy chủ của họ lên phiên bản mới nhất của PHP.