> CVE-2026-40296 [MEDIUM]

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

> DESCRIPTION

PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. The HTML writer skips htmlspecialchars escaping when a cell's formatted value differs from the original value. When a cell has a custom number format containing the text placeholder @ along with any additional literal characters (for example ". @", "@ ", or "x@"), the formatter replaces @ with the cell value and adds the extra characters, causing the formatted value to differ from the original and bypassing HTML escaping entirely. An attacker who can control the cell value and number format of an uploaded spreadsheet that is later converted to HTML and displayed to other users can achieve stored cross-site scripting. This issue is fixed in versions 5.7.0, 3.10.5, 2.4.5, 2.1.16, and 1.30.4.

> 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:L/UI:R/S:C/C:L/I:L/A:N
EXPLOITABILITY
2.3
IMPACT
2.7

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/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
Low (L)
Authentifié avec compte utilisateur basique
UI (Interaction Utilisateur)
User Interaction
Required (R)
Nécessite une action utilisateur (clic lien, ouverture fichier, etc.)
S (Périmètre)
Scope
Changed (C)
Impact s'étend au-delà 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-hrmw-qprp-wgmc MODERATE

PhpSpreadsheet has XSS via number format code with @ text placeholder bypasses htmlspecialchars in HTML writer

AFFECTED PACKAGES:
COMPOSER / phpoffice/phpspreadsheet
<= 1.30.3
Fixed in: 1.30.4
COMPOSER / phpoffice/phpspreadsheet
>= 2.0.0, <= 2.1.15
Fixed in: 2.1.16
COMPOSER / phpoffice/phpspreadsheet
>= 2.2.0, <= 2.4.4
Fixed in: 2.4.5
COMPOSER / phpoffice/phpspreadsheet
>= 3.3.0, <= 3.10.4
Fixed in: 3.10.5
COMPOSER / phpoffice/phpspreadsheet
>= 4.0.0, <= 5.6.0
Fixed in: 5.7.0

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

PhpSpreadsheet vulnerable to XSS in HTML writer via custom number format codes

AFFECTED PACKAGES:
Unknown / Unknown
120 versions affected
ALIASES:
GHSA-hrmw-qprp-wgmc

> HISTORIQUE DES MODIFICATIONS

Première apparition
06/05/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/06/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/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-hrmw-qprp-w...
« BACK_TO_HOME