Description
LingGuo-Drama through commit 8a6924a contains a missing authorization vulnerability that allows any registered user to manage all accounts through the /admin/v1/admins API protected only by AuthAdminJWT. Attackers can self-register, read every account's bcrypt hash, reset the bootstrap administrator's password via PUT, raise their authority_id, and delete accounts.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| LingGuoAI | LingGuo-Drama | — | — |
References
- https://hackmd.io/@hieuPenguinnn/lingguo-drama-broken-access-control third-party-advisory
- https://github.com/LingGuoAI/LingGuo-Drama/blob/8a6924adf8142678919b4d9a08b9d60c49dcfbed/server/routes/admin.go#L244-L255 technical-description
- https://github.com/LingGuoAI/LingGuo-Drama/blob/8a6924adf8142678919b4d9a08b9d60c49dcfbed/server/app/http/controllers/admin/v1/admins_controller.go#L166-L198 technical-description
- https://github.com/LingGuoAI/LingGuo-Drama/blob/8a6924adf8142678919b4d9a08b9d60c49dcfbed/server/app/models/admins/admins.go#L14 technical-description
- VulnCheck Advisory: LingGuo-Drama through commit 8a6924a Broken Access Control via /admin/v1/admins API third-party-advisory