> CVE-2026-40112 [MEDIUM]

« BACK_TO_HOME
PUBLISHED
2026-04-09 22:16
MODIFIED
2026-04-09 22:16
CVSS_SCORE V3
5.4
EPSS (Prob. Exploit)
0.22%
Top 86.9%
DATA SOURCES:
NVD 🔗 2026-04-09 CWE MITRE 🔗 2026-11-01 FIRST EPSS 🔗 2026-11-08 GITHUB 🔗 2026-11-05 OSV 🔗 2026-10-25

> DESCRIPTION

PraisonAI is a multi-agent teams system. Prior to 4.5.128, the Flask API endpoint in src/praisonai/api.py renders agent output as HTML without effective sanitization. The _sanitize_html function relies on the nh3 library, which is not listed as a required or optional dependency in pyproject.toml. When nh3 is absent (the default installation), the sanitizer is a no-op that returns HTML unchanged. An attacker who can influence agent input (via RAG data poisoning, web scraping results, or prompt injection) can inject arbitrary JavaScript that executes in the browser of anyone viewing the API output. This vulnerability is fixed in 4.5.128.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
EXPLOITABILITY
2.8
IMPACT
2.5

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
None (N)
Aucune authentification requise
UI (Interaction Utilisateur)
User Interaction
Required (R)
Nécessite une action utilisateur (clic lien, ouverture fichier, etc.)
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
Low (L)
Divulgation limitée d'informations
I (Impact Intégrité)
Integrity Impact
Low (L)
Modification limitée des données possible
A (Impact Disponibilité)
Availability Impact
None (N)
Aucune interruption de service

> RÉSUMÉ DES IMPACTS

Confidentialité
Low
Divulgation limitée d'informations
Intégrité
Low
Modification limitée des données possible
Disponibilité
None
Aucune interruption de service

> WEAKNESSES

CWE-79

> CWE DETAILED DESCRIPTIONS

CWE-79: Improper Neutralization of Input During Web Page Generation - The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

> GITHUB SECURITY ADVISORY

GHSA-cfg2-mxfj-j6pw MODERATE

PraisonAI Vulnerable to Stored XSS via Unsanitized Agent Output in HTML Rendering (nh3 Not a Required Dependency)

AFFECTED PACKAGES:
PIP / PraisonAI
< 4.5.128
Fixed in: 4.5.128

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

PraisonAI has Stored XSS via Unsanitized Agent Output in HTML Rendering (nh3 Not a Required Dependency)

AFFECTED PACKAGES:
Unknown / Unknown
512 versions affected
ALIASES:
GHSA-cfg2-mxfj-j6pw, PYSEC-2026-2910

> HISTORIQUE DES MODIFICATIONS

Première apparition
09/04/2026 22:16
Source: NVD
📊 ENRICHISSEMENT 01/11/2026 06:59
CWE
Champ modifié: Description CWE
Ancienne valeur:
CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') - The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in...
Nouvelle valeur:
CWE-79: Improper Neutralization of Input During Web Page Generation - The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a...
📊 ENRICHISSEMENT 01/05/2026 06:01
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') - The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in...
Total des modifications: 2 Dernière mise à jour: 1 week ago

> REFERENCES

https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-cfg2-mxfj-j6...
« BACK_TO_HOME