Description
LangChat through commit 2a6285a contains a missing authentication vulnerability that allows unauthenticated remote attackers to access REST controllers because no Sa-Token interceptor is registered. Attackers can query /api/v1/auth/users to read plaintext passwords, retrieve LLM provider API keys, create super-admin accounts, and modify or delete data.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| LangChat | langchat | — | — |
References
- https://hackmd.io/@hieuPenguinnn/langchat-missing-global-auth-credential-exposure third-party-advisory
- https://github.com/LangChat/langchat/blob/2a6285a6b8c51d51cdc599771bb667a30bc03f5c/langchat-server/src/main/java/cn/langchat/server/config/WebAsyncConfig.java#L17-L33 technical-description
- https://github.com/LangChat/langchat/blob/2a6285a6b8c51d51cdc599771bb667a30bc03f5c/langchat-auth/src/main/java/cn/langchat/auth/controller/AigcUserController.java#L25-L60 technical-description
- https://github.com/LangChat/langchat/blob/2a6285a6b8c51d51cdc599771bb667a30bc03f5c/langchat-auth/src/main/java/cn/langchat/auth/service/impl/AuthServiceImpl.java#L51-L58 technical-description
- VulnCheck Advisory: LangChat through commit 2a6285a Missing Authentication on REST API Controllers third-party-advisory