CVE-2026-33647
published 2026-03-23CVE-2026-33647: WWBN AVideo is an open source video platform. In versions up to and including 26.0, the `ImageGallery::saveFile()` method validates uploaded file content using…
PriorityP261high8.8CVSS 3.1
AVNACLPRLUINSUCHIHAH
EPSS
0.64%
46.0th percentile
WWBN AVideo is an open source video platform. In versions up to and including 26.0, the `ImageGallery::saveFile()` method validates uploaded file content using `finfo` MIME type detection but derives the saved filename extension from the user-supplied original filename without an allowlist check. An attacker can upload a polyglot file (valid JPEG magic bytes followed by PHP code) with a `.php` extension. The MIME check passes, but the file is saved as an executable `.php` file in a web-accessible directory, achieving Remote Code Execution. Commit 345a8d3ece0ad1e1b71a704c1579cbf885d8f3ae contains a patch.
Affected
2 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| wwbn | avideo | <= 26.0 | — |
| wwbn | avideo | 0 – 26.0 | — |
Detection & IOCsextracted from sources · hover to see the quote
- →Detect upload of polyglot files with JPEG magic bytes but a .php extension targeting the AVideo ImageGallery upload endpoint. ↗
- →Monitor web-accessible directories for newly created .php files originating from file upload operations in AVideo (wwbn/avideo <= 26.0). ↗
- →Flag HTTP requests invoking ImageGallery::saveFile() where the uploaded filename carries a .php extension, regardless of the detected MIME type. ↗
- ·The finfo MIME check passes for polyglot files because it reads magic bytes (valid JPEG header), so MIME-type-based defenses alone are insufficient to block this attack vector. ↗
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
AVideo Vulnerable to Remote Code Execution via MIME/Extension Mismatch in ImageGallery File Upload
ghsa·2026-03-25
CVE-2026-33647 [HIGH] CWE-434 AVideo Vulnerable to Remote Code Execution via MIME/Extension Mismatch in ImageGallery File Upload
AVideo Vulnerable to Remote Code Execution via MIME/Extension Mismatch in ImageGallery File Upload
## Summary
The `ImageGallery::saveFile()` method validates uploaded file content using `finfo` MIME type detection but derives the saved filename extension from the user-supplied original filename without an allowlist check. An attacker can upload a polyglot file (valid JPEG magic bytes followed by PHP code) with a `.php` extension. The MIME check passes, but the file is saved as an executable `.php` file in a web-accessible directory, achieving Remote Code Execution.
## Details
The vulnerability exists in `plugin/ImageGallery/ImageGallery.php` in the `saveFile()` method:
```php
// plugin/ImageGallery/ImageGallery.php:80-108
static function saveFile($file, $videos_id)
{
$allowedMimeTypes
OSV
AVideo Vulnerable to Remote Code Execution via MIME/Extension Mismatch in ImageGallery File Upload
osv·2026-03-25
CVE-2026-33647 [HIGH] AVideo Vulnerable to Remote Code Execution via MIME/Extension Mismatch in ImageGallery File Upload
AVideo Vulnerable to Remote Code Execution via MIME/Extension Mismatch in ImageGallery File Upload
## Summary
The `ImageGallery::saveFile()` method validates uploaded file content using `finfo` MIME type detection but derives the saved filename extension from the user-supplied original filename without an allowlist check. An attacker can upload a polyglot file (valid JPEG magic bytes followed by PHP code) with a `.php` extension. The MIME check passes, but the file is saved as an executable `.php` file in a web-accessible directory, achieving Remote Code Execution.
## Details
The vulnerability exists in `plugin/ImageGallery/ImageGallery.php` in the `saveFile()` method:
```php
// plugin/ImageGallery/ImageGallery.php:80-108
static function saveFile($file, $videos_id)
{
$allowedMimeTypes
No detection rules found.
No public exploits indexed.
2026-03-23
Published