You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stored Cross-Site Scripting (XSS) in the "title" and "subtitle" fields of page creation. The input is not sanitized and is stored directly to disk via PHP serialize().
12
+
13
+
## Root Cause:
14
+
In 'modules/pages_flat.php', function 'savePage($page)' stores page data via 'saveSerialize()' without any sanitization. The stored values are later rendered in the admin panel without escaping.
15
+
16
+
Only the 'body' and 'introduction' fields are passed through TinyMCE (which encodes HTML). 'title' and 'subtitle' are rendered as raw HTML.
17
+
18
+
Note: If you are already admin, skip steps 1-7
19
+
## Exploitation Steps:
20
+
1. Login as an authenticated user (normal user, no need for admin).
21
+
22
+
2. Create a new Page via the dashboard, located at http://IP/PivotX/pivotx/index.php?page=page
23
+
24
+
3. Create locally a JavaScript file contaning cookie stealing code.
#Langflow exposes a vulnerable endpoint `/api/v1/validate/code` that improperly evaluates arbitrary Python code via the `exec()` function. An unauthenticated remote attacker can execute arbitrary system commands.
The WP Publications plugin for WordPress (versions <= 1.2) is vulnerable to a **Stored Cross-Site Scripting (XSS)** attack. The vulnerability exists because the plugin fails to escape filenames before outputting them in the HTML, allowing high-privileged users (such as admins) to inject arbitrary JavaScript code.
14
+
15
+
This vulnerability is exploitable even in WordPress configurations where the `unfiltered_html` capability is disabled (e.g., multisite setups).
16
+
17
+
---
18
+
19
+
## Proof of Concept (PoC)
20
+
21
+
1. SSH into the server and navigate to the plugin directory:
22
+
```bash
23
+
cd /var/www/html/wp-content/plugins/wp-publications/
24
+
```
25
+
26
+
2. Run the following command to create a malicious BibTeX file:
27
+
```bash
28
+
touch "<img src=x onerror=alert('XSS')>.bib"
29
+
```
30
+
31
+
3. Access the plugin's BibTeX browser via the following URL:
4. The injected JavaScript will be executed, triggering the XSS payload:
37
+
```javascript
38
+
alert('XSS');
39
+
```
40
+
41
+
---
42
+
43
+
## Impact
44
+
45
+
* Stored XSS (JavaScript) is executed in the context of the admin panel.
46
+
* Bypasses `unfiltered_html` protection in multisite environments.
47
+
* Can be used for privilege escalation, cookie theft, or injecting malicious content.
48
+
49
+
---
50
+
51
+
## Recommendation
52
+
53
+
Update to a version of the plugin that properly escapes file names before rendering them in the output. If no update is available, disable the plugin or sanitize file inputs manually.
54
+
55
+
---
56
+
57
+
## References
58
+
59
+
* [CVE-2024-11605 on NVD](https://nvd.nist.gov/vuln/detail/CVE-2024-11605)
0 commit comments