| tiêu đề | pbootcmspro PbootCMS <=V3.2.22 Incomplete Denylist to Cross-Site Scripting |
|---|
| Mô tả | When creating or editing an article in the admin panel, the `title` field is passed through `escape_string()`, which encodes it into HTML entities using `htmlspecialchars()`, before it is stored in the database. On the frontend, when the content is read, `->decode()` → `decode_string()` decodes the entities back to the original characters, and the result is then output directly in the `default` branch of the template rendering without a second filtering pass through `filter_html()`. Consequently, HTML/event attributes submitted by an attacker, such as `<script>`, are rendered as raw HTML on the article detail page, list page, and homepage, resulting in stored XSS. An attacker only needs the "content creation/modification" permission (a normal editor role is sufficient) to inject persistent scripts that execute arbitrary JavaScript in the browsers of all users visiting the article/list/homepage, enabling theft of cookies, sessions, sensitive backend data, or phishing. This encode→decode→direct output chain is a long-standing design, and the V3.2.x series is presumed to be affected. |
|---|
| Nguồn | ⚠️ https://github.com/pbootcmspro/PbootCMS/issues/69 |
|---|
| Người dùng | rockmelodeis (UID 100628) |
|---|
| Đệ trình | 19/08/2026 10:18 (cách đây 28 ngày) |
|---|
| Kiểm duyệt | 16/09/2026 09:57 (28 days later) |
|---|
| Trạng thái | được chấp nhận |
|---|
| Mục VulDB | 405518 [PbootCMS đến 3.2.22 Template Rendering ContentController.php decode_string tiêu đề Tập lệnh chéo trang] |
|---|
| điểm | 20 |
|---|