Submit #938556: pbootcmspro PbootCMS <=V3.2.22 Incomplete Denylist to Cross-Site Scriptinginfo

Titlepbootcmspro PbootCMS <=V3.2.22 Incomplete Denylist to Cross-Site Scripting
DescriptionWhen 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.
Source⚠️ https://github.com/pbootcmspro/PbootCMS/issues/69
User
 rockmelodeis (UID 100628)
Submission08/19/2026 10:18 (28 days ago)
Moderation09/16/2026 09:57 (28 days later)
StatusAccepted
VulDB entry405518 [PbootCMS up to 3.2.22 Template Rendering ContentController.php decode_string Title cross site scripting]
Points20

Might our Artificial Intelligence support you?

Check our Alexa App!