Local file inclusion không cần xác thực trong October CMS của octobercms

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-2020-15246 là gì?

Lỗ hổng CVE-2020-15246 là lỗ hổng Incorrect Authorization ảnh hưởng tới october (phiên bản bị ảnh hưởng: >= 1.0.421, < 1.0.469). Lỗ hổng này được xếp hạng ở mức Cao, với điểm CVSS 7.5. Hiện chưa đủ dữ liệu để xác định lỗ hổng này đã bị khai thác hay chưa.

Giới thiệu chung

Dữ liệu gốc

October là một nền tảng CMS miễn phí, mã nguồn mở và tự lưu trữ, dựa trên Laravel PHP Framework. Trong October CMS từ phiên bản 1.0.421 và trước phiên bản 1.0.469, kẻ tấn công có thể đọc các tệp cục bộ trên máy chủ October CMS thông qua một request được tạo đặc biệt. Vấn đề đã được vá trong Build 469 (v1.0.469) và v1.1.0.

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

  • Vendor: octobercms.
  • Product and package: October CMS, package Composer october/cms.
  • Affected range: >= 1.0.421, < 1.0.469.
  • The advisory identifies Build 469, also written as v1.0.469, as patched and states that the issue is also patched in v1.1.0.
  • Trạng thái của các nhánh song song hoặc phiên bản khác không được xác nhận bởi phạm vi affected facts hiện có và không nên được suy luận là an toàn.

Chi tiết kỹ thuật

October CMS xử lý một request được tạo đặc biệt theo cách cho phép người dùng chưa xác thực đọc tệp cục bộ trên máy chủ. Bản ghi chuẩn hóa phân loại vấn đề là CWE-863, phù hợp với lỗi kiểm soát quyền truy cập hoặc kiểm tra đường dẫn không đầy đủ trong luồng xử lý tệp. Bằng chứng từ bản vá xác định phần thay đổi liên quan đến FileDatasource và Halcyon Builder; thao tác chọn tệp hiện gọi validateFileName(...), và thao tác xóa cũng thực hiện kiểm tra tên tệp. Chi tiết chính xác về endpoint, tham số request và cách chuẩn hóa đường dẫn bị khai thác không được công bố trong bằng chứng hiện có. Do đó, không nên suy luận thêm về loại tệp cụ thể hoặc payload khai thác.

Khả năng khai thác

Lỗi có thể bị khai thác qua mạng bằng một request được tạo đặc biệt. Bản ghi và advisory cho biết không cần xác thực và không cần người dùng tương tác; độ phức tạp khai thác được đánh giá là thấp. Bằng chứng hiện có không xác định endpoint hoặc tham số cụ thể nên không cung cấp đủ cơ sở để mô tả chuỗi request an toàn. Trạng thái khai thác công khai hoặc việc bị khai thác thực tế không được thiết lập trong bản ghi và advisory đã xem xét; đây là giới hạn của bằng chứng, không phải khẳng định rằng chưa từng có khai thác.

Tác động kỹ thuật

Kẻ tấn công có thể đọc dữ liệu từ các tệp cục bộ mà tiến trình October CMS có quyền truy cập. Tác động thực tế nhiều khả năng bị giới hạn bởi quyền của tài khoản chạy ứng dụng và quyền đọc của hệ điều hành, nhưng các tệp cấu hình hoặc secret có thể tạo ra rủi ro lan truyền nếu bị lộ. Bản ghi chỉ thiết lập khả năng tiết lộ thông tin, không thiết lập khả năng sửa dữ liệu, thực thi mã hoặc từ chối dịch vụ. Vì không cần xác thực, một instance công khai có thể bị kiểm tra và khai thác mà không cần tài khoản ứng dụng.

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

Lỗ hổng có thể làm lộ các tệp mà tiến trình web của October CMS có quyền đọc. Tùy cấu hình, các tệp đó có thể chứa mã nguồn, cấu hình ứng dụng, thông tin kết nối hoặc bí mật dùng cho hệ thống khác, nhưng bản ghi không xác nhận loại tệp nào đã bị đọc. Hậu quả được xác nhận là tiết lộ dữ liệu cục bộ; không có bằng chứng trong bản ghi cho thấy kẻ tấn công có thể sửa tệp hoặc làm gián đoạn dịch vụ. Các hệ thống October CMS công khai trên Internet và chứa dữ liệu nhạy cảm nên được ưu tiên kiểm tra.

Cách khắc phục

  1. Nâng cấp nhánh bị ảnh hưởng lên Build 469, tương ứng với v1.0.469. Advisory cũng xác nhận v1.1.0 là phiên bản đã được vá.
  2. Nếu chưa thể nâng cấp, áp dụng thủ công bản vá thư viện do nhà cung cấp công bố cho installation tương ứng. Nguồn của nhà cung cấp cung cấp thay đổi mã cần thiết, nhưng việc áp dụng thủ công cần được kiểm thử trước khi triển khai.
  3. Sau khi xử lý, xác minh lại package october/cms, phiên bản thực tế và mọi override hoặc bản vá cục bộ trong deployment.
  4. Không mở rộng hướng dẫn fixed in thành một mốc mở cho mọi phiên bản mới hơn hoặc nhánh song song khi chưa có bằng chứng xác nhận.

Cách phát hiện

  1. Kiểm kê các triển khai October CMS và xác định package Composer october/cms cùng phiên bản đang chạy.
  2. Đánh dấu các hệ thống nằm trong phạm vi >= 1.0.421, < 1.0.469 để ưu tiên xử lý.
  3. Với hệ thống không thể nâng cấp, kiểm tra xem bản vá thư viện do nhà cung cấp công bố đã được áp dụng thủ công hay chưa.
  4. Rà soát access log và application log của October CMS để tìm các request bất thường liên quan đến chức năng xử lý tệp. Đây chỉ là biện pháp phát hiện bổ sung vì bằng chứng hiện có không cung cấp endpoint, mẫu request hoặc IOC cụ thể.
  5. Không coi việc không có log đáng ngờ là bằng chứng hệ thống an toàn.
Nguồn (12)
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.