/

CVE-2026-111723

Severity:

HIGH RISK

(8.8)

Missing Authorization (CWE-862) in LingGuo-Drama Admin API

CVE-2026-111723

Deferred

Vulnerability type

Category:

Missing Authorization

CWE:

CWE-862

Impact:

Account Takeover and Privilege Escalation

Severity:

HIGH RISK

(8.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

LingGuo-Drama exposes administrative account-management functions to registered users without adequately enforcing administrator authorization. A user who can obtain an account may be able to view password hashes, change administrator credentials, elevate privileges, or delete accounts.

LingGuo-Drama exposes administrative account-management functions to registered users without adequately enforcing administrator authorization. A user who can obtain an account may be able to view password hashes, change administrator credentials, elevate privileges, or delete accounts.

Affected context

This vulnerability affects deployments where the /admin/v1/admins API is reachable by authenticated users and relies on an administrator JWT without sufficiently verifying the caller's administrative privileges. The risk is greatest when self-registration is enabled and account-management operations are exposed through the same accessible API surface.

This vulnerability affects deployments where the /admin/v1/admins API is reachable by authenticated users and relies on an administrator JWT without sufficiently verifying the caller's administrative privileges. The risk is greatest when self-registration is enabled and account-management operations are exposed through the same accessible API surface.

Exploit preconditions

  • Attack surface: The /admin/v1/admins account-management API
  • Required access: A registered application account, potentially obtained through self-registration
  • Trigger point: Authenticated requests to administrative account-management operations
  • Why exploitation is possible: The API permits sensitive actions without consistently enforcing the required administrator authorization level
  • Attack surface: The /admin/v1/admins account-management API
  • Required access: A registered application account, potentially obtained through self-registration
  • Trigger point: Authenticated requests to administrative account-management operations
  • Why exploitation is possible: The API permits sensitive actions without consistently enforcing the required administrator authorization level

Why this happens

The underlying flaw is a missing authorization check on administrative endpoints. Authentication through an AuthAdminJWT establishes that a requester has a valid session or token, but the application does not adequately verify whether that requester is permitted to perform each account-management operation. This maps to CWE-862: Missing Authorization, where access controls fail to enforce privileges after authentication.

The underlying flaw is a missing authorization check on administrative endpoints. Authentication through an AuthAdminJWT establishes that a requester has a valid session or token, but the application does not adequately verify whether that requester is permitted to perform each account-management operation. This maps to CWE-862: Missing Authorization, where access controls fail to enforce privileges after authentication.

Potential impact

  • Attackers may read bcrypt password hashes for other accounts
  • Attackers may reset administrator credentials and take over accounts
  • Attackers may increase their own authority level
  • Attackers may delete user or administrator accounts
  • The application may experience administrative compromise and loss of availability
  • Attackers may read bcrypt password hashes for other accounts
  • Attackers may reset administrator credentials and take over accounts
  • Attackers may increase their own authority level
  • Attackers may delete user or administrator accounts
  • The application may experience administrative compromise and loss of availability

General mitigation guidance

Mitigation should focus on enforcing authorization independently for every administrative operation and treating authentication as distinct from privilege verification.

Common defensive patterns include:

  • Applying server-side role and permission checks to every /admin/v1/admins action
  • Denying administrative functions by default for ordinary authenticated users
  • Restricting self-registration and separating registration from privileged account management
  • Preventing clients from directly selecting or modifying authority-related fields
  • Requiring strong controls for administrator credential resets and account deletion
  • Returning only the minimum account data necessary, including avoiding unnecessary exposure of password hashes
  • Running administrative functions with least privilege and recording security-relevant actions

Mitigation should focus on enforcing authorization independently for every administrative operation and treating authentication as distinct from privilege verification.

Common defensive patterns include:

  • Applying server-side role and permission checks to every /admin/v1/admins action
  • Denying administrative functions by default for ordinary authenticated users
  • Restricting self-registration and separating registration from privileged account management
  • Preventing clients from directly selecting or modifying authority-related fields
  • Requiring strong controls for administrator credential resets and account deletion
  • Returning only the minimum account data necessary, including avoiding unnecessary exposure of password hashes
  • Running administrative functions with least privilege and recording security-relevant actions

How teams detect issues like this

Organizations can identify missing authorization through:

  • Static analysis and code review checks for endpoints that authenticate requests without validating roles or permissions
  • Review of route handlers and service methods that accept user-controlled identifiers or authority fields
  • Authorization matrix testing for each administrative operation and user role
  • Integration tests that verify ordinary users cannot list, modify, reset, elevate, or delete privileged accounts
  • API gateway or policy enforcement rules restricting administrative routes to approved roles
  • Audit-log monitoring for unusual account-management activity, privilege changes, credential resets, and bulk deletion

Organizations can identify missing authorization through:

  • Static analysis and code review checks for endpoints that authenticate requests without validating roles or permissions
  • Review of route handlers and service methods that accept user-controlled identifiers or authority fields
  • Authorization matrix testing for each administrative operation and user role
  • Integration tests that verify ordinary users cannot list, modify, reset, elevate, or delete privileged accounts
  • API gateway or policy enforcement rules restricting administrative routes to approved roles
  • Audit-log monitoring for unusual account-management activity, privilege changes, credential resets, and bulk deletion

Sources

SourceLink
github.comgithub.com/LingGuoAI/LingGuo-Drama/blob/8a6924adf8142678919b4d9a08b9d60c49dcfbed/server/app/http/controllers/admin/v1/admins_controller.go#L166-L198
github.comgithub.com/LingGuoAI/LingGuo-Drama/blob/8a6924adf8142678919b4d9a08b9d60c49dcfbed/server/app/models/admins/admins.go#L14
github.comgithub.com/LingGuoAI/LingGuo-Drama/blob/8a6924adf8142678919b4d9a08b9d60c49dcfbed/server/routes/admin.go#L244-L255
hackmd.iohackmd.io/@hieuPenguinnn/lingguo-drama-broken-access-control
vulncheck.comvulncheck.com/advisories/lingguo-drama-through-commit-8a6924a-broken-access-control-via-admin-v1-admins-api

Frequently asked

questions

It may be exploitable through the application API when the administrative endpoint is network-accessible and a requester can authenticate as a registered user.

The described condition requires an application account, which may potentially be obtained through an enabled self-registration workflow. Network access to the affected API is also required.

Enforce server-side authorization for every administrative endpoint and operation, using an explicit role or permission model rather than relying only on the presence of a valid JWT.

Maintain an authorization matrix, test every sensitive action with multiple user roles, prevent client-controlled privilege fields, and monitor administrative actions for anomalies.

It may be exploitable through the application API when the administrative endpoint is network-accessible and a requester can authenticate as a registered user.

The described condition requires an application account, which may potentially be obtained through an enabled self-registration workflow. Network access to the affected API is also required.

Enforce server-side authorization for every administrative endpoint and operation, using an explicit role or permission model rather than relying only on the presence of a valid JWT.

Maintain an authorization matrix, test every sensitive action with multiple user roles, prevent client-controlled privilege fields, and monitor administrative actions for anomalies.

Find out what's already
exploitable in your codebase.