> CVE-2026-59931 [HIGH]

« BACK_TO_HOME
PUBLISHED
2026-07-28 18:17
MODIFIED
2026-07-28 18:17
CVSS_SCORE V3
7.7
EPSS (Prob. Exploit)
0.53%
Top 56.0%
DATA SOURCES:
NVD 🔗 2026-07-28 CWE MITRE 🔗 2026-11-01 FIRST EPSS 🔗 2026-10-25 OSV 🔗 2026-08-03

> DESCRIPTION

PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. In versions 4.0.0 through 5.8.0, 3.3.0 through 3.10.6, 2.2.0 through 2.4.6, 2.0.0 through 2.1.17, and all releases up to and including 1.30.5, the WEBSERVICE() domain whitelist can be bypassed via an HTTP redirect (SSRF). In Calculation/Web/Service.php, the webService() method validates a URL's host against the whitelist set via Spreadsheet::setDomainWhiteList(), then fetches content with file_get_contents($url, false, $ctx); because PHP's HTTP stream wrapper follows 301/302 redirects automatically (up to 20 hops) and the redirect target is never re-validated, an attacker who can trigger a redirect from a whitelisted domain can reach arbitrary URLs, including internal addresses. An attacker able to upload XLSX files to an application that uses setDomainWhiteList() and getCalculatedValue() can achieve a full-read SSRF, returning up to 32,767 bytes of the response body as a cell's calculated value, which enables exfiltration of cloud metadata (AWS/GCP/Azure credentials via http://169.254.169.254/), access to internal-only services, and internal port scanning (the port is not validated). This issue has been fixed in versions 5.8.1, 3.10.7, 2.4.7, 2.1.18, and 1.30.6.

> 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:N/S:C/C:H/I:N/A:N
EXPLOITABILITY
3.1
IMPACT
4.0

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/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
None (N)
Aucune interaction utilisateur nécessaire
S (Périmètre)
Scope
Changed (C)
Impact s'étend au-delà du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
High (H)
Divulgation totale d'informations
I (Impact Intégrité)
Integrity Impact
None (N)
Aucune modification de données possible
A (Impact Disponibilité)
Availability Impact
None (N)
Aucune interruption de service

> RÉSUMÉ DES IMPACTS

Confidentialité
High
Divulgation totale d'informations
Intégrité
None
Aucune modification de données possible
Disponibilité
None
Aucune interruption de service

> WEAKNESSES

CWE-918

> CWE DETAILED DESCRIPTIONS

CWE-918: Server-Side Request Forgery - The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

PhpSpreadsheet: SSRF bypass via HTTP redirect in WEBSERVICE() domain whitelist

AFFECTED PACKAGES:
Unknown / Unknown
71 versions affected
ALIASES:
GHSA-6hq5-7373-42rg

> HISTORIQUE DES MODIFICATIONS

Première apparition
28/07/2026 18:17
Source: NVD
📊 ENRICHISSEMENT 01/11/2026 06:59
CWE
Champ modifié: Description CWE
Ancienne valeur:
CWE-918: Server-Side Request Forgery (SSRF) - The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure th...
Nouvelle valeur:
CWE-918: Server-Side Request Forgery - The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the ...
📊 ENRICHISSEMENT 01/08/2026 06:01
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-918: Server-Side Request Forgery (SSRF) - The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure th...
Total des modifications: 2 Dernière mise à jour: 4 days ago

> REFERENCES

https://github.com/PHPOffice/PhpSpreadsheet/commit/7ef7b25e8548a6ded79dac74e2e2c...
https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6
https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18
https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7
https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7
https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1
https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6hq5-7373-4...
« BACK_TO_HOME