Summary
CVE-2026-91996 is a missing authentication vulnerability (CWE-306) in dromara’s lamp-cloud framework, affecting all versions through 5.10.0. The application whitelists the path pattern /*/anno/** for anonymous access, which unintentionally exposes the code-generator endpoint /defGenProject/anno/getProperties to unauthenticated requests, letting any remote attacker dump the server’s full JVM system property map. This is a high-severity, network-exploitable information disclosure issue with no authentication or user interaction required.
Technical details
- Root cause: lamp-cloud’s security configuration (
IgnoreProperties.java) whitelists the wildcard path pattern/*/anno/**as permitted for anonymous, unauthenticated access. - Trigger conditions: The whitelist pattern also matches the code-generator controller endpoint
/defGenProject/anno/getProperties(DefGenProjectController), which was not intended to be publicly reachable. - Attack vector: A remote, unauthenticated attacker sends a POST request directly to
/defGenProject/anno/getProperties; the network attack vector requires low complexity, no privileges, and no user interaction. - Impact: The endpoint returns the full JVM system property map, disclosing sensitive information such as the JVM classpath, filesystem paths, operating system details, and startup secrets — information that can materially assist further attacks against the host.
Affected software
- dromara/lamp-cloud, all versions from 0 through 5.10.0 (inclusive)
Severity
- CVSS v4.0 Base Score: 8.7 (High) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - CVSS v3.1 Base Score: 7.5 (High) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Mitigation and recommended actions
- Immediate: Upgrade lamp-cloud to a version newer than 5.10.0 that removes the code-generator endpoint from the
/*/anno/**anonymous-access whitelist, or confirm with the vendor that a fix has been released and apply it. - If no patch is available: Remove or narrow the
/*/anno/**whitelist entry so it no longer matches/defGenProject/anno/getProperties; restrict or disable the code-generator module in production deployments; block external access to code-generator endpoints at the network/reverse-proxy layer; and monitor for POST requests to/defGenProject/anno/getPropertiesfrom untrusted sources.

