mediumCVSS 4.3Vulnerability

GHSA-jrc5-w569-h7h5

### Summary A review of `phpMyFAQ-main` uncovered an authorization issue in the `admin-api` routes. Several backend endpoints only check whether the caller is logged in. They do not verify that the caller actually has backend or administrative privileges. As a result, a normal frontend user can access API endpoints that are clearly intended for administrative use. During local reproduction, a regular user account was able to request `/admin/api/index.php/dashboard/versions` and receive a successful response from the backend management API. This issue does not appear to give direct write access in the affected paths that were confirmed, so it should be treated as a backend information disclosure and privilege boundary failure rather than full admin compromise. ### Details The access control split is visible in the controller base class: ```php public function userIsAuthenticated(): void { if (!$this->currentUser->isLoggedIn()) { throw new UnauthorizedHttpException('Unauthorized access.'); } } protected function userHasPermission(PermissionType $permissionType): void { // permission-based check } ``` The problem is that several `Administration\Api` controllers use the weaker check even though the routes sit under the backend API namespace. For example, `phpmyfaq/src/phpMyFAQ/Controller/Administration/Api/DashboardController.php` exposes: ```php #[Route(path: 'dashboard/versions', name: 'admin.api.dashboard.versions', methods: ['GET'])] public function versions(): JsonResponse { $this->userIsAuthenticated(); ... } ``` The same pattern appears in other backend-facing controllers, including: - `LdapController` - `ElasticsearchController` - `OpenSearchController` - `UpdateController` That matters because these endpoints are not part of the normal frontend feature set. They expose backend operational data such as version checks, upgrade state, LDAP configuration, health checks, and search backend status. Three examples that stand

Properties

ghsa_id
GHSA-jrc5-w569-h7h5
severity
medium
summary
phpMyFAQ: Ordinary Authenticated User Can Access Admin-Only API Endpoints Due to Insufficient Authorization Check in phpMyFAQ
cvss_score
4.3
cve_id
GHSA-jrc5-w569-h7h5
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
is_ghsa_only
true
ghsa_published
2026-05-06T20:37:42Z
source_url
https://github.com/advisories/GHSA-jrc5-w569-h7h5
ghsa_updated
2026-05-06T20:37:43Z

Related Entities (6)

AFFECTS (2)

[Software]composer/phpMyFAQ/phpMyFAQ
[Software]composer/thorsten/phpMyFAQ

VULNERABLE_TO (2)

[Software]composer/phpMyFAQ/phpMyFAQ
[Software]composer/thorsten/phpMyFAQ

HAS_WEAKNESS (1)

[Weakness]Incorrect Authorization

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

GHSA-jrc5-w569-h7h5 (CVSS 4.3) — Ninja Signal Threat Intelligence | Ninja Signal