{"id":"GHSA-99j6-hj87-6fcf","summary":"AVideo: Unauthenticated Information Disclosure via Missing Auth on CloneSite client.log.php","details":"## Summary\n\nThe `plugin/CloneSite/client.log.php` endpoint serves the clone operation log file without any authentication. Every other endpoint in the CloneSite plugin directory enforces `User::isAdmin()`. The log contains internal filesystem paths, remote server URLs, and SSH connection metadata.\n\n## Details\n\nThe entire file at `plugin/CloneSite/client.log.php`:\n\n```php\n\u003c?php\ninclude '../../videos/cache/clones/client.log';\n```\n\nNo authentication check. The log file is populated by `cloneClient.json.php` which writes operational details during clone operations:\n\n```php\n// plugin/CloneSite/cloneClient.json.php:118\n$log-\u003eadd(\"Clone (2 of {$totalSteps}): Geting MySQL Dump file [$cmd]\");\n```\n\nThe `$cmd` variable contains wget commands with internal filesystem paths, and rsync command templates with SSH connection details (username, IP, port).\n\nCompare with sibling endpoints:\n- `plugin/CloneSite/index.php` checks `User::isAdmin()`\n- `plugin/CloneSite/changeStatus.json.php` checks `User::isAdmin()`\n- `plugin/CloneSite/clones.json.php` checks `User::isAdmin()`\n- `plugin/CloneSite/delete.json.php` checks `User::isAdmin()`\n\n## Proof of Concept\n\n```bash\ncurl \"https://your-avideo-instance.com/plugin/CloneSite/client.log.php\"\n```\n\nIf the CloneSite feature has been used, the response contains wget commands, filesystem paths, SSH metadata, and SQL dump file locations.\n\n## Impact\n\nUnauthenticated disclosure of internal infrastructure details that could aid targeted attacks against the clone source server.\n\n## Recommended Fix\n\nAdd an admin authentication check at `plugin/CloneSite/client.log.php`, before the include:\n\n```php\nrequire_once '../../videos/configuration.php';\nif (!User::isAdmin()) {\n    http_response_code(403);\n    die('Access denied');\n}\n```\n\n---\n*Found by [aisafe.io](https://aisafe.io)*","aliases":["CVE-2026-35452"],"modified":"2026-04-07T14:35:42.184085Z","published":"2026-04-04T06:17:17Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2026-04-04T06:17:17Z","nvd_published_at":"2026-04-06T22:16:23Z","cwe_ids":["CWE-200"],"severity":"MODERATE"},"references":[{"type":"WEB","url":"https://github.com/WWBN/AVideo/security/advisories/GHSA-99j6-hj87-6fcf"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-35452"},{"type":"PACKAGE","url":"https://github.com/WWBN/AVideo"}],"affected":[{"package":{"name":"wwbn/avideo","ecosystem":"Packagist","purl":"pkg:composer/wwbn/avideo"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"26.0"}]}],"versions":["10.4","10.8","11","11.1","11.1.1","11.5","11.6","12.4","14.3","14.3.1","14.4","18.0","21.0","22.0","24.0","25.0","26.0"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-99j6-hj87-6fcf/GHSA-99j6-hj87-6fcf.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N"}]}