Trong quá trình kiểm tra trên trang web OpenCart sử dụng chủ đề Tạp chí phổ biến, chúng tôi có thể nhận thấy rằng một điểm cuối cụ thể dễ bị phơi nhiễm dữ liệu nhạy cảm thông qua lỗi SQL. Phiên bản tạp chí 3.1.0 khắc phục sự cố được phát hành vào ngày 1 tháng 7 năm 2020.
ID CVE: CVE-2020-15478
Tóm tắt
Journal, chủ đề OpenCart bán chạy nhất được sử dụng trong hơn 25 nghìn trang web, được phát hiện là để lộ thông tin nhạy cảm và có khả năng dễ bị tấn công hơn như SQL Injection.
Phơi nhiễm dữ liệu nhạy cảm, một lỗ hổng trong Top 10 của OWASP, xảy ra khi một ứng dụng không bảo mật đầy đủ dữ liệu nhạy cảm. Thông tin bị lộ có thể bao gồm mật khẩu, mã thông báo phiên, dữ liệu thẻ tín dụng, dữ liệu sức khỏe cá nhân, v.v.
Lỗ hổng bảo mật
Thông tin chi tiết về lỗ hổng bảo mật sẽ được thêm vào ngày 15 tháng 7 để người dùng chủ đề có đủ thời gian cập nhật lên phiên bản mới nhất.
Cập nhật các chi tiết kỹ thuật:
Do cách tham số “page” được đánh máy dưới dạng số nguyên trong /<
- /controller/journal3/blog.php , nếu ai đó nhập một chuỗi, điều này dẫn đến một thông báo lỗi chi tiết hiển thị lỗi SQL, chi tiết cơ sở dữ liệu và đường dẫn nội bộ.
Những thông tin như vậy có thể giúp kẻ tấn công chuẩn bị tốt hơn cho các cuộc tấn công của họ. Chúng tôi thấy rằng $ page được nhập thành một số nguyên bằng cách sử dụng
$page = (int)Arr::get($this->request->get, 'page', 1);
trong tệp đã đề cập.Dòng thời gian
Lỗ hổng bảo mật đã được báo cáo cho nhóm Tạp chí vào ngày 11 tháng 6 năm 2020.
Phiên bản 3.1.0 có chứa bản sửa lỗi cho lỗ hổng bảo mật được phát hành vào ngày 1 tháng 7 năm 2020.Đề xuất
- Bạn nên cập nhật chủ đề lên phiên bản mới nhất.
- Bạn cũng có thể thêm mã sau vào sau dòng
$page = (int)Arr::get($this->request->get, 'page', 1);
trong /catalog/controller/journal3/blog.php:
if ($page == 0) { $page=1; }
Tham khảo
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15478
- https://docs.journal-theme.com/changelog
- https://nvd.nist.gov/vuln/detail/CVE-2020-15478