CVE-2026-97163 — Joomla UP Plugin Unauthenticated GitHub Action Install
September 26, 2026 · 1,219 views
Unauthenticated remote code installation in UP (Universal Plugin) for Joomla (lomart.fr) 5.0.0–5.2.0 and 6.0.0–6.0.29: mini package triggers on-demand GitHub action download into plugins/content/up/actions/ with TLS verify disabled (MITM risk). CVSS 4.0 10.0 Critical. Fixed in 5.2.1 and 6.1.0.
Description
Overview
CVE-2026-97163 affects the UP (Universal Plugin) for Joomla (plg_content_up, lomart.fr). Versions 5.0.0–5.2.0 and 6.0.0–6.0.29 (especially the mini package without bundled actions) allow unauthenticated remote code installation: an anonymous request can start an on-demand download of action code from the maintainer’s GitHub repository into plugins/content/up/actions/, where Joomla executes it. The fetch ran with TLS certificate verification disabled, so a network-positioned attacker (MITM) could substitute a malicious archive (CWE-22, CWE-284). CVSS 4.0 10.0 Critical (PR:N). Fix: UP 6.1.0 / 5.2.1 (authentication restrictions + TLS verify restored). Assigner: Joomla CNA.
Research: mySites.guru — UP 6.1.0 security fixes
Related (same release): CVE-2026-97160 (PHP shortcode), CVE-2026-97161 (file read), CVE-2026-97162 (SQLi).
| | |
|---|---|
| Product | UP plugin (plg_content_up) |
| Affected | 5.0.0–5.2.0, 6.0.0–6.0.29 |
| Fixed | 5.2.1, 6.1.0 |
| Vector | Mini mode: first use of an action → GitHub zip → unpack under plugin |
| Impact | Integrity / RCE (with MITM or compromised fetch path) |
Open source PoC: https://github.com/murrez/CVE-2026-97163
The bundled tool fingerprints UP, checks vulnerable versions, and probes com_ajax patterns (or --ajax-url / --render-url from your lab). It does not perform MITM or host malicious archives.
Bundled tool (Python 3)
pip install -r requirements.txt
python poc.py -u https://joomla.example --mode check
python poc.py -u https://joomla.example --mode check --install-probe
python poc.py -u https://joomla.example --mode exploit --install-probe --action slideshow-billboard
python poc.py -u https://joomla.example --mode exploit --render-url "https://joomla.example/index.php?option=com_content&view=article&id=99"
python poc.py -u https://joomla.example --mode exploit --ajax-url "https://joomla.example/index.php?option=com_ajax&group=content&plugin=up&..."
python poc.py --list targets.example.txt --mode check --install-probe -j 8
Post-patch: inspect plugins/content/up/actions/ for unknown PHP folders per vendor guidance.
Asset discovery
body="plugins/content/up"
body="plg_content_up" "up.lomart"
Impact
Unauthenticated triggering of remote action installation—combined with disabled TLS verification, hostile networks could deliver attacker-controlled PHP under the plugin tree.
Remediation
- Upgrade UP to 6.1.0 or 5.2.1 immediately.
- Audit
plugins/content/up/actions/for unexpected directories. - Prefer full UP packages over mini where policy allows; restrict outbound fetches from production Joomla hosts.
Legal and ethical use
Authorized testing only. Do not MITM or deploy malicious archives on third-party sites.
References
Related PoCs
Same platform, vendor, or tags — explore more write-ups on Pocbit.
- JoomlaCVE-2026-97161critical
CVE-2026-97161 — Joomla UP Plugin Unauthenticated Path Traversal / File Read
Unauthenticated path traversal and arbitrary file read (CWE-22, CWE-284, CVSS 4.0 9.2 Critical) in UP (Universal Plugin) for Joomla (plg_content_up, lomart.fr) 5.0.0–5.2.0 and 6.0.0–6.0.29 via AJAX file-access handlers (ajax-view). May expose configuration.php and DB credentials. Fixed in 5.2.1 and 6.1.0.
- JoomlaCVE-2026-97160critical
CVE-2026-97160 — Joomla UP Plugin PHP Code Injection ({up php=} eval)
PHP code injection (CWE-94, CVSS 4.0 9.4 Critical) in UP (Universal Plugin) for Joomla (plg_content_up, lomart.fr) 5.0.0–5.2.0 and 6.0.0–6.0.29 via {up php=...} shortcodes processed with eval(). Author save/render bypass on older builds can expose execution to all visitors. Fixed in 5.2.1 and 6.1.0.
- JoomlaCVE-2026-102427critical
CVE-2026-102427 — OrdaSoft Joomla CCK (com_os_cck) Unauthenticated Upload RCE
OrdaSoft OS CCK for Joomla 1.0.0–8.3.15: unauthenticated front-end task getContent reaches site/uploader.php — GIF/PHP polyglot passes magic-byte check while .php extension from attacker filename is written under web root (CWE-434). CVSS 4.0 10.0 Critical (AT:N). Fixed in 8.3.16+. Python PoC: check, exploit (POCBIT-102427-OK), mass + interactive.
- JoomlaCVE-2026-102425critical
CVE-2026-102425 — Joomla Balbooa Forms (com_baforms) Field Shortcode → Unauthenticated RCE
Balbooa Forms for Joomla 1.0.0–2.4.3.3: when a public form runs PHP-after-submission via eval(), field shortcodes are replaced with raw visitor input inside double-quoted PHP — classic ";breakout;// → RCE. CVSS 4.0 9.5 Critical (AT:P). Fixed in 2.4.3.4. Not CVE-2026-67364. Python PoC: version + public form detect, check/exploit, up.php drop, interactive + mass -j.