{"id":"GHSA-hg8q-8wqr-35xx","summary":"AVideo: Unauthenticated Information Disclosure via Disabled CLI Guard in install/test.php","details":"## Summary\n\nThe `install/test.php` diagnostic script has its CLI-only access guard disabled by commenting out the `die()` statement. The script remains accessible via HTTP after installation, exposing video viewer statistics including IP addresses, session IDs, and user agents to unauthenticated visitors.\n\n## Details\n\nThe disabled guard at `install/test.php:5-7`:\n\n```php\nif (!isCommandLineInterface()) {\n    //return die('Command Line only');\n}\n```\n\nThe script also enables verbose error reporting:\n\n```php\nerror_reporting(E_ALL);\nini_set('display_errors', '1');\n```\n\nIt then queries `VideoStatistic::getLastStatistics()` and outputs the result via `var_dump()`:\n\n```php\n$resp = VideoStatistic::getLastStatistics(getVideos_id(), User::getId());\nvar_dump($resp);\n```\n\nThe `VideoStatistic` object contains: `ip` (viewer IP address), `session_id`, `user_agent`, `users_id`, and JSON metadata. The `display_errors=1` setting also leaks internal filesystem paths in any PHP warnings.\n\nThe `install/` directory is not restricted by `.htaccess` (it only disables directory listing via `Options -Indexes`) and no web server rules block access to individual PHP files in this directory.\n\n## Proof of Concept\n\n```bash\n# Request viewer stats for video ID 1\ncurl \"https://your-avideo-instance.com/install/test.php?videos_id=1\"\n```\n\nConfirmed accessible on live AVideo instances (HTTP 200).\n\n## Impact\n\nUnauthenticated disclosure of viewer IP addresses (PII under GDPR), session identifiers, and user agents. The enabled `display_errors` also reveals internal server paths on errors.\n\n- **CWE**: CWE-200 (Exposure of Sensitive Information)\n- **Severity**: Low\n\n## Recommended Fix\n\nUncomment the CLI guard at `install/test.php:6` to restore the intended access restriction:\n\n```php\nif (!isCommandLineInterface()) {\n    return die('Command Line only');\n}\n```\n\n---\n*Found by [aisafe.io](https://aisafe.io)*","aliases":["CVE-2026-35449"],"modified":"2026-04-07T14:35:36.608920Z","published":"2026-04-04T06:16:18Z","database_specific":{"github_reviewed_at":"2026-04-04T06:16:18Z","nvd_published_at":"2026-04-06T22:16:23Z","cwe_ids":["CWE-200"],"severity":"MODERATE","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/WWBN/AVideo/security/advisories/GHSA-hg8q-8wqr-35xx"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-35449"},{"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-hg8q-8wqr-35xx/GHSA-hg8q-8wqr-35xx.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"}]}