{"id":"GHSA-99j6-hj87-6fcf","aliases":["CVE-2026-35452"],"title":"AVideo: Unauthenticated Information Disclosure via Missing Auth on CloneSite client.log.php","description":"## 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<?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->add(\"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)*","severity":"medium","score":5.3,"published":"2026-04-04T06:17:17.000Z","modified":"2026-04-07T14:35:42.184Z","withdrawn":false,"knownExploited":false,"affected":[{"ecosystem":"Packagist","name":"wwbn/avideo","ranges":[{"events":[{"introduced":"0"},{"last_affected":"26.0"}],"type":"ECOSYSTEM"}],"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"],"fixed":[]}],"sourceAffected":[],"references":["https://github.com/WWBN/AVideo/security/advisories/GHSA-99j6-hj87-6fcf","https://nvd.nist.gov/vuln/detail/CVE-2026-35452","https://github.com/WWBN/AVideo"],"sources":[{"name":"OSV","id":"GHSA-99j6-hj87-6fcf","modified":"2026-04-07T14:35:42.184085Z","url":"https://osv.dev/vulnerability/GHSA-99j6-hj87-6fcf"}],"assessments":[{"source":"OSV","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","score":5.3}]}