The plugin/API/check.ffmpeg.json.php endpoint probes the FFmpeg remote server configuration and returns connectivity status without any authentication. All sibling FFmpeg management endpoints (kill.ffmpeg.json.php, list.ffmpeg.json.php, ffmpeg.php) require User::isAdmin().
The entire file at plugin/API/check.ffmpeg.json.php:
<?php
$configFile = __DIR__.'/../../videos/configuration.php';
require_once $configFile;
header('Content-Type: application/json');
$obj = testFFMPEGRemote();
die(json_encode($obj));
No User::isAdmin(), User::isLogged(), or any access control check exists.
Compare with sibling endpoints in the same directory:
- kill.ffmpeg.json.php checks User::isAdmin()
- list.ffmpeg.json.php checks User::isAdmin()
curl "https://your-avideo-instance.com/plugin/API/check.ffmpeg.json.php"
Returns information about whether the platform uses a standalone FFmpeg server and its current reachability.
Infrastructure reconnaissance revealing the encoding architecture. Limited direct impact but aids targeted attack planning.
Add an admin authentication check at plugin/API/check.ffmpeg.json.php:3, after require_once $configFile;:
if (!User::isAdmin()) {
forbiddenPage('Admin only');
}
Found by aisafe.io
{
"github_reviewed_at": "2026-04-04T06:16:49Z",
"severity": "MODERATE",
"cwe_ids": [
"CWE-306"
],
"github_reviewed": true,
"nvd_published_at": "2026-04-06T22:16:23Z"
}