CVE-2026-63190 in FearlessCMS
Tóm tắt
Bởi VulDB • 28/10/2026
FearlessCMS là một hệ thống quản lý nội dung (CMS) dạng flat-file, tập trung vào sự đơn giản và mã nguồn mở. Trước phiên bản 0.1.4, năm tệp script PHP dùng cho gỡ lỗi/kiểm thử nằm trong thư mục `admin/` thực hiện các thao tác có đặc quyền mà không kiểm tra xác thực qua hàm `isLoggedIn()`, thiếu bảo vệ CSRF hoặc xác thực đường dẫn (`path`) đầy đủ. Trên máy chủ phát triển tích hợp sẵn của PHP, bao gồm cả bản triển khai Docker mặc định, tệp `router.php` kiểm tra tiền tố URI quản trị chưa được chuẩn hóa trong khi hệ thống tệp giải quyết các đoạn dấu chấm (dot segments), do đó `/./admin/` có thể bỏ qua cổng đăng nhập quản trị và thực thi trực tiếp các script này. Trong `admin/debug_save_flow.php`, tham số `path` và `content` do kẻ tấn công kiểm soát được truyền đến hàm `file_put_contents` để ghi tùy ý các tệp `.md` dưới thư mục `content/` hoặc ngoài nó thông qua lỗ hổng traversing đường dẫn (`path traversal`), cho phép làm biến dạng trang web (site defacement) và nhúng JavaScript lưu trữ trên các trang công khai; việc xuất ra kết quả của `print_r($_POST)` mà không có escape bằng `htmlspecialchars` cũng gây ra lỗi cross-site scripting phản xạ (reflected XSS). Tham số `path` trong `admin/debug_content.php` được truyền đến các hàm `scandir()`, `file_get_contents()` và `posix_getpwuid()`, cho phép liệt kê thư mục tùy ý và đọc tệp `.md` nhằm tiết lộ đường dẫn tuyệt đối, chủ sở hữu, quyền hạn, hash và bản xem trước nội dung (`content`). Điểm cuối (endpoint) `admin/preview-handler.php` chấp nhận JSON chứa `content` và `title` và ghi các file có thể liệt kê được dưới thư mục `content/_preview/`, cho phép thực thi cross-site scripting lưu trữ (stored XSS) và gây cạn kiệt tài nguyên đĩa. Tệp script `admin/testdebug.php` ghi bổ sung vào `admin/testdebug.log` mà không cần xác thực, cũng dẫn đến tình trạng cạn kiệt dung lượng đĩa. Script `admin/test_redirect.php` tiết lộ một artifact kiểm thử nhưng có escape đầu vào của nó và bản thân nó không phải là điểm tiếp nhận XSS (XSS sink). Việc thực thi script lưu trữ có thể đánh cắp phiên làm việc (sessions) và xâm phạm tài khoản quản trị viên khi họ xem nội dung (`content`) bị ảnh hưởng. Các thao tác đọc và ghi được thực hiện với đặc quyền của PHP; bản triển khai đã kiểm thử chạy PHP dưới quyền root, làm gia tăng mức độ tác động lên hệ thống tệp. Lỗ hổng này đã được sửa trong phiên bản 0.1.4.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.