If your org runs parisneo/lollms exposed to any untrusted network, this is patch-now. Any unauthenticated Socket.IO client can trigger unbounded LLM inference, cancel running generations, and corrupt global server state — zero credentials required. Upgrade to lollms 2.1.0 immediately; if patching is delayed, enforce network-layer access control (firewall or authenticated reverse proxy) before the next business day.
Affected Systems
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| lollms | pip | < 2.1.0 | 2.1.0 |
Do you use lollms? You're affected.
Severity & Risk
Recommended Action
- 1. PATCH: Upgrade to lollms >= 2.1.0 which adds authentication checks to Socket.IO event handlers. 2. ISOLATE (if patching delayed): Restrict lollms port access to trusted IPs via firewall rules or reverse proxy ACL — lollms must never be directly internet-accessible. 3. PROXY: Place lollms behind an authenticated reverse proxy (nginx + oauth2-proxy or basic auth as minimum). 4. DETECT: Monitor Socket.IO connections for anomalous patterns — >10 generate events/min from a single IP, or repeated cancel_generation calls with no preceding generate, should trigger alerts. 5. AUDIT: Review all lollms deployments in your environment for network exposure before closing this finding.
Classification
Compliance Impact
This CVE is relevant to:
Technical Details
NVD Description
A vulnerability in the `lollms_generation_events.py` component of parisneo/lollms version 5.9.0 allows unauthenticated access to sensitive Socket.IO events. The `add_events` function registers event handlers such as `generate_text`, `cancel_generation`, `generate_msg`, and `generate_msg_from` without implementing authentication or authorization checks. This allows unauthenticated clients to execute resource-intensive or state-altering operations, leading to potential denial of service, state corruption, and race conditions. Additionally, the use of global flags (`lollmsElfServer.busy`, `lollmsElfServer.cancel_gen`) for state management in a multi-client environment introduces further vulnerabilities, enabling one client's actions to affect the server's state and other clients' operations. The lack of proper access control and reliance on insecure global state management significantly impacts the availability and integrity of the service.
Exploitation Scenario
Attacker discovers an internet-exposed lollms instance via Shodan (searching for lollms default port 9600 or custom ports). Using a standard Socket.IO client library (socket.io-client, python-socketio), they connect without authentication. They emit rapid generate_text events with maximally expensive prompts (e.g., long context + high token count completions). Simultaneously, a second attack client emits cancel_generation events to interrupt legitimate users. The global lollmsElfServer.busy flag ensures legitimate generation requests are queued indefinitely while attacker jobs consume all resources. With three concurrent attack clients creating interleaved generate/cancel/generate sequences, they trigger a race condition that leaves the server in an inconsistent state, taking the service offline for all users.
Weaknesses (CWE)
CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H