Search

Find a vulnerability

Search criteria

    76 vulnerabilities by PHPOffice

    CVE-2026-108360 (GCVE-0-2026-108360)

    Vulnerability from nvd – Published: 2026-10-22 17:26 – Updated: 2026-10-22 17:26
    VLAI
    Title
    PhpSpreadsheet: SSRF whitelist bypass via unre-validated HTTP redirect in Drawing::setPath external image loading
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, Worksheet\Drawing::setPath validates only the initial external-image URL with setIsWhitelisted when setAllowExternalImages is enabled. The HTTP stream context permits PHP to follow a redirect without applying the callback to the redirected URL, so a permitted image host can redirect the server to an internal address and cause a blind GET request. The response body is not returned to the attacker because the reader validates the downloaded content as an image and removes the temporary file, but internal GET-driven endpoints, network reachability, and cloud metadata endpoints may be reached. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0.
    CWE
    • CWE-863 - Incorrect Authorization
    • CWE-918 - Server-Side Request Forgery (SSRF)
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: < 1.30.7
    Affected: >= 2.0.0, < 2.1.19
    Affected: >= 2.2.0, < 2.4.8
    Affected: >= 3.3.0, < 3.10.8
    Affected: >= 4.0.0, < 5.10.0
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.30.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.19"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.10.0"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, Worksheet\\Drawing::setPath validates only the initial external-image URL with setIsWhitelisted when setAllowExternalImages is enabled. The HTTP stream context permits PHP to follow a redirect without applying the callback to the redirected URL, so a permitted image host can redirect the server to an internal address and cause a blind GET request. The response body is not returned to the attacker because the reader validates the downloaded content as an image and removes the temporary file, but internal GET-driven endpoints, network reachability, and cloud metadata endpoints may be reached. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 6.4,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "LOW",
                "integrityImpact": "LOW",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-863",
                  "description": "CWE-863: Incorrect Authorization",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T17:26:59.148Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-2phh-27fw-q4gc",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-2phh-27fw-q4gc"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/94590951d76a250a5fc1ecf69a0b3f7439a9af49",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/94590951d76a250a5fc1ecf69a0b3f7439a9af49"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0"
            }
          ],
          "source": {
            "advisory": "GHSA-2phh-27fw-q4gc",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: SSRF whitelist bypass via unre-validated HTTP redirect in Drawing::setPath external image loading"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-108360",
        "datePublished": "2026-10-22T17:26:59.148Z",
        "dateReserved": "2026-10-09T20:32:44.301Z",
        "dateUpdated": "2026-10-22T17:26:59.148Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-108359 (GCVE-0-2026-108359)

    Vulnerability from nvd – Published: 2026-10-22 17:32 – Updated: 2026-10-22 17:32
    VLAI
    Title
    PhpSpreadsheet ODS Reader: Unbounded number-rows-repeated → CPU & Memory Exhaustion (DoS)
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, Ods::processTableRow in src/PhpSpreadsheet/Reader/Ods.php accepts an unbounded table:number-rows-repeated attribute from an ODS table row. When the row contains a value, the reader materializes a cell for every repetition without checking the spreadsheet row limit, so a small attacker-controlled ODS file can consume substantial CPU and memory and terminate the PHP worker. Column repetition is separately bounded and is not part of this vulnerability. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0.
    CWE
    • CWE-400 - Uncontrolled Resource Consumption
    • CWE-789 - Memory Allocation with Excessive Size Value
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: < 1.30.7
    Affected: >= 2.0.0, < 2.1.19
    Affected: >= 2.2.0, < 2.4.8
    Affected: >= 3.3.0, < 3.10.8
    Affected: >= 4.0.0, < 5.10.0
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.30.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.19"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.10.0"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, Ods::processTableRow in src/PhpSpreadsheet/Reader/Ods.php accepts an unbounded table:number-rows-repeated attribute from an ODS table row. When the row contains a value, the reader materializes a cell for every repetition without checking the spreadsheet row limit, so a small attacker-controlled ODS file can consume substantial CPU and memory and terminate the PHP worker. Column repetition is separately bounded and is not part of this vulnerability. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-400",
                  "description": "CWE-400: Uncontrolled Resource Consumption",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-789",
                  "description": "CWE-789: Memory Allocation with Excessive Size Value",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T17:32:49.724Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-j2w7-387v-m2rq",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-j2w7-387v-m2rq"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/2de29384aa11223ee08136c0e6a9e9981bc1a2eb",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/2de29384aa11223ee08136c0e6a9e9981bc1a2eb"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0"
            }
          ],
          "source": {
            "advisory": "GHSA-j2w7-387v-m2rq",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet ODS Reader: Unbounded number-rows-repeated \u2192 CPU \u0026 Memory Exhaustion (DoS)"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-108359",
        "datePublished": "2026-10-22T17:32:49.724Z",
        "dateReserved": "2026-10-09T20:32:44.301Z",
        "dateUpdated": "2026-10-22T17:32:49.724Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-108358 (GCVE-0-2026-108358)

    Vulnerability from nvd – Published: 2026-10-22 17:29 – Updated: 2026-10-23 21:08
    VLAI
    Title
    PhpSpreadsheet: XmlScanner Bypass via ISO-2022 Escape Sequences Allows XXE and Denial of Service
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, XmlScanner::scan in src/PhpSpreadsheet/Reader/Security/XmlScanner.php uses a DOCTYPE detection pattern that accounts for NUL-byte interleaving but not ISO-2022 escape sequences in XLSX XML parts. The escape sequences prevent the scanner from matching the declaration, and XML charset normalization then removes the escape bytes before parsing, exposing a valid DOCTYPE and entity definitions. Processing an attacker-controlled XLSX can therefore cause entity-expansion denial of service on supported PHP versions and can permit local file access or SSRF on PHP before 8.0 or when LIBXML_NOENT is enabled. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-10-23 17:32 UTC
    CWE
    • CWE-611 - Improper Restriction of XML External Entity Reference
    • CWE-776 - Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: < 1.30.7
    Affected: >= 2.0.0, < 2.1.19
    Affected: >= 2.2.0, < 2.4.8
    Affected: >= 3.3.0, < 3.10.8
    Affected: >= 4.0.0, < 5.10.0
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-108358",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-10-23T17:32:56.137020Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-10-23T21:08:28.517Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.30.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.19"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.10.0"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, XmlScanner::scan in src/PhpSpreadsheet/Reader/Security/XmlScanner.php uses a DOCTYPE detection pattern that accounts for NUL-byte interleaving but not ISO-2022 escape sequences in XLSX XML parts. The escape sequences prevent the scanner from matching the declaration, and XML charset normalization then removes the escape bytes before parsing, exposing a valid DOCTYPE and entity definitions. Processing an attacker-controlled XLSX can therefore cause entity-expansion denial of service on supported PHP versions and can permit local file access or SSRF on PHP before 8.0 or when LIBXML_NOENT is enabled. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "LOW",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:L/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "LOW",
                "vulnIntegrityImpact": "NONE"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-611",
                  "description": "CWE-611: Improper Restriction of XML External Entity Reference",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-776",
                  "description": "CWE-776: Improper Restriction of Recursive Entity References in DTDs (\u0027XML Entity Expansion\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T17:29:56.449Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-3x94-m842-937c",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-3x94-m842-937c"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/89f455c133e1a7e2d4abfadc43ce29eb7450d781",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/89f455c133e1a7e2d4abfadc43ce29eb7450d781"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0"
            }
          ],
          "source": {
            "advisory": "GHSA-3x94-m842-937c",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: XmlScanner Bypass via ISO-2022 Escape Sequences Allows XXE and Denial of Service"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-108358",
        "datePublished": "2026-10-22T17:29:56.449Z",
        "dateReserved": "2026-10-09T20:32:44.301Z",
        "dateUpdated": "2026-10-23T21:08:28.517Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-108357 (GCVE-0-2026-108357)

    Vulnerability from nvd – Published: 2026-10-22 17:38 – Updated: 2026-10-23 21:08
    VLAI
    Title
    PhpSpreadsheet: XmlScanner Bypass via Double-Encoded unentity() TOCTOU Allows XXE and Denial of Service
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. From 3.3.0 until 3.10.8 and 5.10.0, Reader\Xml passes stored SpreadsheetML XML through XmlScanner::scan in Xml::canRead and Xml::trySimpleXMLLoadStringPrivate, while Xml::unentity decodes numeric entities only after each DOCTYPE pattern check. A double-encoded less-than character is reduced by the first callback to another encoded character and by the second callback to a literal less-than sign, so SimpleXML receives an unchecked DOCTYPE and entity declaration. Processing attacker-controlled SpreadsheetML XML can cause entity-expansion denial of service and can permit local file access or SSRF on PHP before 8.0 or when LIBXML_NOENT is enabled. This issue is fixed in versions 3.10.8 and 5.10.0.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-10-23 17:32 UTC
    CWE
    • CWE-611 - Improper Restriction of XML External Entity Reference
    • CWE-776 - Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 3.3.0, < 3.10.8
    Affected: >= 4.0.0, < 5.10.0
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-108357",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-10-23T17:32:57.479788Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-10-23T21:08:17.784Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.10.0"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. From 3.3.0 until 3.10.8 and 5.10.0, Reader\\Xml passes stored SpreadsheetML XML through XmlScanner::scan in Xml::canRead and Xml::trySimpleXMLLoadStringPrivate, while Xml::unentity decodes numeric entities only after each DOCTYPE pattern check. A double-encoded less-than character is reduced by the first callback to another encoded character and by the second callback to a literal less-than sign, so SimpleXML receives an unchecked DOCTYPE and entity declaration. Processing attacker-controlled SpreadsheetML XML can cause entity-expansion denial of service and can permit local file access or SSRF on PHP before 8.0 or when LIBXML_NOENT is enabled. This issue is fixed in versions 3.10.8 and 5.10.0."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "LOW",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:L/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "LOW",
                "vulnIntegrityImpact": "NONE"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-611",
                  "description": "CWE-611: Improper Restriction of XML External Entity Reference",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-776",
                  "description": "CWE-776: Improper Restriction of Recursive Entity References in DTDs (\u0027XML Entity Expansion\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T17:38:16.098Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-rxj4-h86g-25gc",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-rxj4-h86g-25gc"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/89f455c133e1a7e2d4abfadc43ce29eb7450d781",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/89f455c133e1a7e2d4abfadc43ce29eb7450d781"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0"
            }
          ],
          "source": {
            "advisory": "GHSA-rxj4-h86g-25gc",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: XmlScanner Bypass via Double-Encoded unentity() TOCTOU Allows XXE and Denial of Service"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-108357",
        "datePublished": "2026-10-22T17:38:16.098Z",
        "dateReserved": "2026-10-09T20:32:44.301Z",
        "dateUpdated": "2026-10-23T21:08:17.784Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-114404 (GCVE-0-2026-114404)

    Vulnerability from nvd – Published: 2026-10-21 12:39 – Updated: 2026-10-21 15:48
    VLAI
    Title
    PHPPresentation 1.2.0 XSS via Writer\HTML Text Runs, Hyperlinks and Descriptions
    Summary
    PHPOffice PHPPresentation 1.2.0 contains a cross-site scripting vulnerability in the HTML writer that allows attackers who supply presentation content to inject script into generated HTML. Attackers can craft a PPTX with malicious text runs, hyperlink relationship targets, or shape descr attributes that are emitted unescaped, executing script in viewers' browsers.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-10-21 15:07 UTC
    CWE
    • CWE-79 - Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
    Assigner
    VulnCheck CNA under the mitre root
    CNA scorecard B 84/100 over 6775 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PHPPresentation Affected: 1.2.0 , ≤ 1.2.0 (semver)
    Create a notification for this product.
    Date Public
    2026-10-09 09:59
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-114404",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-10-21T15:07:35.846807Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-10-21T15:48:21.337Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "packageURL": "pkg:composer/phpoffice/phppresentation",
              "product": "PHPPresentation",
              "repo": "https://github.com/PHPOffice/PHPPresentation",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "lessThanOrEqual": "1.2.0",
                  "status": "affected",
                  "version": "1.2.0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "leediay153 from Viettel Post"
            }
          ],
          "datePublic": "2026-10-09T09:59:42.000Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "PHPOffice PHPPresentation 1.2.0 contains a cross-site scripting vulnerability in the HTML writer that allows attackers who supply presentation content to inject script into generated HTML. Attackers can craft a PPTX with malicious text runs, hyperlink relationship targets, or shape descr attributes that are emitted unescaped, executing script in viewers\u0027 browsers."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 5.3,
                "baseSeverity": "MEDIUM",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "LOW",
                "subIntegrityImpact": "LOW",
                "userInteraction": "PASSIVE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE"
              },
              "format": "CVSS"
            },
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 6.1,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "LOW",
                "integrityImpact": "LOW",
                "privilegesRequired": "NONE",
                "scope": "CHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
                "version": "3.1"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-79",
                  "description": "Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-21T12:39:56.258Z",
            "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
            "shortName": "VulnCheck"
          },
          "references": [
            {
              "tags": [
                "third-party-advisory"
              ],
              "url": "https://hackmd.io/@leediay/multiple_vulnerable_phppresentation"
            },
            {
              "tags": [
                "technical-description"
              ],
              "url": "https://github.com/PHPOffice/PHPPresentation/blob/1.2.0/src/PhpPresentation/Writer/HTML.php#L307-L330"
            },
            {
              "tags": [
                "product"
              ],
              "url": "https://github.com/PHPOffice/PHPPresentation"
            },
            {
              "name": "VulnCheck Advisory: PHPPresentation 1.2.0 XSS via Writer\\HTML Text Runs, Hyperlinks and Descriptions",
              "tags": [
                "third-party-advisory"
              ],
              "url": "https://www.vulncheck.com/advisories/phppresentation-1.2.0-xss-via-writer-html-text-runs-hyperlinks-and-descriptions"
            }
          ],
          "title": "PHPPresentation 1.2.0 XSS via Writer\\HTML Text Runs, Hyperlinks and Descriptions",
          "x_generator": {
            "engine": "vulncheck-endgame"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "assignerShortName": "VulnCheck",
        "cveId": "CVE-2026-114404",
        "datePublished": "2026-10-21T12:39:56.258Z",
        "dateReserved": "2026-10-21T11:46:54.712Z",
        "dateUpdated": "2026-10-21T15:48:21.337Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-114403 (GCVE-0-2026-114403)

    Vulnerability from nvd – Published: 2026-10-21 12:39 – Updated: 2026-10-21 12:39
    VLAI
    Title
    PHPOffice PHPPresentation through 1.2.0 Deserialization via Reader\Serialized::load
    Summary
    PHPOffice PHPPresentation through 1.2.0 contains an insecure deserialization vulnerability that allows attackers to instantiate arbitrary PHP objects by supplying a crafted presentation file. Attackers can upload a ZIP containing PhpPresentation.xml that IOFactory::load passes to unserialize(), enabling gadget-chain code execution, file writes, or denial of service.
    CWE
    • CWE-502 - Deserialization of Untrusted Data
    Assigner
    VulnCheck CNA under the mitre root
    CNA scorecard B 84/100 over 6775 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PHPPresentation Affected: 0 , ≤ 1.2.0 (semver)
    Create a notification for this product.
    Date Public
    2026-10-09 09:59
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "packageURL": "pkg:composer/phpoffice/phppresentation",
              "product": "PHPPresentation",
              "repo": "https://github.com/PHPOffice/PHPPresentation",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "lessThanOrEqual": "1.2.0",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "leediay153 from Viettel Post"
            }
          ],
          "datePublic": "2026-10-09T09:59:42.000Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "PHPOffice PHPPresentation through 1.2.0 contains an insecure deserialization vulnerability that allows attackers to instantiate arbitrary PHP objects by supplying a crafted presentation file. Attackers can upload a ZIP containing PhpPresentation.xml that IOFactory::load passes to unserialize(), enabling gadget-chain code execution, file writes, or denial of service."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 9.2,
                "baseSeverity": "CRITICAL",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH"
              },
              "format": "CVSS"
            },
            {
              "cvssV3_1": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.1,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-502",
                  "description": "Deserialization of Untrusted Data",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-21T12:39:55.570Z",
            "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
            "shortName": "VulnCheck"
          },
          "references": [
            {
              "tags": [
                "third-party-advisory"
              ],
              "url": "https://hackmd.io/@leediay/multiple_vulnerable_phppresentation"
            },
            {
              "tags": [
                "technical-description"
              ],
              "url": "https://github.com/PHPOffice/PHPPresentation/blob/1.2.0/src/PhpPresentation/Reader/Serialized.php#L77-L109"
            },
            {
              "tags": [
                "technical-description"
              ],
              "url": "https://github.com/PHPOffice/PHPPresentation/blob/1.2.0/src/PhpPresentation/IOFactory.php#L39"
            },
            {
              "tags": [
                "product"
              ],
              "url": "https://github.com/PHPOffice/PHPPresentation"
            },
            {
              "name": "VulnCheck Advisory: PHPOffice PHPPresentation through 1.2.0 Deserialization via Reader\\Serialized::load",
              "tags": [
                "third-party-advisory"
              ],
              "url": "https://www.vulncheck.com/advisories/phpoffice-phppresentation-through-1.2.0-deserialization-via-reader-serialized-load"
            }
          ],
          "title": "PHPOffice PHPPresentation through 1.2.0 Deserialization via Reader\\Serialized::load",
          "x_generator": {
            "engine": "vulncheck-endgame"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "assignerShortName": "VulnCheck",
        "cveId": "CVE-2026-114403",
        "datePublished": "2026-10-21T12:39:55.570Z",
        "dateReserved": "2026-10-21T11:46:45.745Z",
        "dateUpdated": "2026-10-21T12:39:55.570Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-59932 (GCVE-0-2026-59932)

    Vulnerability from nvd – Published: 2026-07-28 17:59 – Updated: 2026-07-29 13:56
    VLAI
    Title
    PhpSpreadsheet: Gnumeric reader unbounded gzip expansion causes memory exhaustion
    Summary
    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 Gnumeric reader reads attacker-supplied .gnumeric files into memory and, when the file starts with gzip magic bytes, calls gzdecode() on the full compressed contents without enforcing a decompressed-size limit. A very small compressed .gnumeric file can expand to data larger than the PHP memory limit and crash the process during Gnumeric::canRead() before the file is rejected or fully parsed. This is reachable through normal file-type detection and Gnumeric loading paths, so applications that accept attacker-controlled spreadsheet uploads can suffer denial of service. This issue has been fixed in versions 5.8.1, 3.10.7, 2.4.7, 2.1.18 and 1.30.6.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-29 13:56 UTC
    CWE
    • CWE-400 - Uncontrolled Resource Consumption
    • CWE-409 - Improper Handling of Highly Compressed Data (Data Amplification)
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 4.0.0, < 5.8.1
    Affected: >= 3.3.0, < 3.10.7
    Affected: >= 2.2.0, < 2.4.7
    Affected: >= 2.0.0, < 2.1.18
    Affected: < 1.30.6
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-59932",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-29T13:56:10.618961Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-29T13:56:46.333Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-2mrg-gjxq-2gvr"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.8.1"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.18"
                },
                {
                  "status": "affected",
                  "version": "\u003c 1.30.6"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "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 Gnumeric reader reads attacker-supplied .gnumeric files into memory and, when the file starts with gzip magic bytes, calls gzdecode() on the full compressed contents without enforcing a decompressed-size limit. A very small compressed .gnumeric file can expand to data larger than the PHP memory limit and crash the process during Gnumeric::canRead() before the file is rejected or fully parsed. This is reachable through normal file-type detection and Gnumeric loading paths, so applications that accept attacker-controlled spreadsheet uploads can suffer denial of service. This issue has been fixed in versions 5.8.1, 3.10.7, 2.4.7, 2.1.18 and 1.30.6."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-400",
                  "description": "CWE-400: Uncontrolled Resource Consumption",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-409",
                  "description": "CWE-409: Improper Handling of Highly Compressed Data (Data Amplification)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-28T17:59:17.404Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-2mrg-gjxq-2gvr",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-2mrg-gjxq-2gvr"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/85f2556b0bf5269061bf45932ecda8a128d81750",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/85f2556b0bf5269061bf45932ecda8a128d81750"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1"
            }
          ],
          "source": {
            "advisory": "GHSA-2mrg-gjxq-2gvr",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: Gnumeric reader unbounded gzip expansion causes memory exhaustion"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-59932",
        "datePublished": "2026-07-28T17:59:17.404Z",
        "dateReserved": "2026-07-07T18:20:06.126Z",
        "dateUpdated": "2026-07-29T13:56:46.333Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-59933 (GCVE-0-2026-59933)

    Vulnerability from nvd – Published: 2026-07-28 17:29 – Updated: 2026-07-28 17:57
    VLAI
    Title
    PhpSpreadsheet: XLS/OLE sector-chain self-loop causes memory exhaustion
    Summary
    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 OLE reader follows sector chains from attacker-controlled XLS/OLE metadata without detecting cycles or enforcing a maximum chain length. A tiny malformed .xls/OLE file can set the small-block depot sector chain to point back to itself. During normal XLS detection, OLERead::read() appends the same sector data repeatedly until the PHP process exhausts memory. This is reachable from Reader\Xls::canRead() and therefore from automatic spreadsheet type detection. Applications that accept attacker-controlled spreadsheet uploads can suffer denial of service from a very small file. This issue has been fixed in versions 5.8.1, 3.10.7, 2.4.7, 2.1.18 and 1.30.6.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-28 17:57 UTC
    CWE
    • CWE-400 - Uncontrolled Resource Consumption
    • CWE-835 - Loop with Unreachable Exit Condition ('Infinite Loop')
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 4.0.0, < 5.8.1
    Affected: >= 3.3.0, < 3.10.7
    Affected: >= 2.2.0, < 2.4.7
    Affected: >= 2.0.0, < 2.1.18
    Affected: < 1.30.6
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-59933",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-28T17:57:16.033236Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-28T17:57:30.912Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-xh5m-36r6-47m3"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.8.1"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.18"
                },
                {
                  "status": "affected",
                  "version": "\u003c 1.30.6"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "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 OLE reader follows sector chains from attacker-controlled XLS/OLE metadata without detecting cycles or enforcing a maximum chain length. A tiny malformed .xls/OLE file can set the small-block depot sector chain to point back to itself. During normal XLS detection, OLERead::read() appends the same sector data repeatedly until the PHP process exhausts memory. This is reachable from Reader\\Xls::canRead() and therefore from automatic spreadsheet type detection. Applications that accept attacker-controlled spreadsheet uploads can suffer denial of service from a very small file. This issue has been fixed in versions 5.8.1, 3.10.7, 2.4.7, 2.1.18 and 1.30.6."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-400",
                  "description": "CWE-400: Uncontrolled Resource Consumption",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-835",
                  "description": "CWE-835: Loop with Unreachable Exit Condition (\u0027Infinite Loop\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-28T17:29:27.129Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-xh5m-36r6-47m3",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-xh5m-36r6-47m3"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/85f2556b0bf5269061bf45932ecda8a128d81750",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/85f2556b0bf5269061bf45932ecda8a128d81750"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1"
            }
          ],
          "source": {
            "advisory": "GHSA-xh5m-36r6-47m3",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: XLS/OLE sector-chain self-loop causes memory exhaustion"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-59933",
        "datePublished": "2026-07-28T17:29:27.129Z",
        "dateReserved": "2026-07-07T18:20:06.126Z",
        "dateUpdated": "2026-07-28T17:57:30.912Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-59931 (GCVE-0-2026-59931)

    Vulnerability from nvd – Published: 2026-07-28 17:27 – Updated: 2026-07-28 18:13
    VLAI
    Title
    PhpSpreadsheet: SSRF bypass via HTTP redirect in WEBSERVICE() domain whitelist
    Summary
    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.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-28 18:13 UTC
    CWE
    • CWE-918 - Server-Side Request Forgery (SSRF)
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 4.0.0, < 5.8.1
    Affected: >= 3.3.0, < 3.10.7
    Affected: >= 2.2.0, < 2.4.7
    Affected: >= 2.0.0, < 2.1.18
    Affected: < 1.30.6
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-59931",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-28T18:13:13.134222Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-28T18:13:17.566Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6hq5-7373-42rg"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.8.1"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.18"
                },
                {
                  "status": "affected",
                  "version": "\u003c 1.30.6"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "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\u0027s host against the whitelist set via Spreadsheet::setDomainWhiteList(), then fetches content with file_get_contents($url, false, $ctx); because PHP\u0027s 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\u0027s 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."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 7.7,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-28T17:27:27.300Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6hq5-7373-42rg",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6hq5-7373-42rg"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/7ef7b25e8548a6ded79dac74e2e2c7acdac38d8d",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/7ef7b25e8548a6ded79dac74e2e2c7acdac38d8d"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1"
            }
          ],
          "source": {
            "advisory": "GHSA-6hq5-7373-42rg",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: SSRF bypass via HTTP redirect in WEBSERVICE() domain whitelist"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-59931",
        "datePublished": "2026-07-28T17:27:27.300Z",
        "dateReserved": "2026-07-07T18:20:06.126Z",
        "dateUpdated": "2026-07-28T18:13:17.566Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-45034 (GCVE-0-2026-45034)

    Vulnerability from nvd – Published: 2026-06-22 20:32 – Updated: 2026-06-23 15:53
    VLAI
    Title
    PhpSpreadsheet: File::prohibitWrappers bypass
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.5, CVE-2026-34084 was patched by the helper File::prohibitWrappers. The helper calls parse_url($filename, PHP_URL_SCHEME) and then checks is_string($scheme) && strlen($scheme) > 1 to reject stream wrappers such as phar://, php://, data:// or expect://. The check is not equivalent to "does the path contain a wrapper". When the input has the form phar:///path/file.phar/inner with three or more slashes after the scheme, parse_url returns boolean false instead of returning the scheme string. The is_string($scheme) branch is therefore skipped, the helper returns without throwing, and the caller proceeds. PHP's stream layer, however, still treats phar:///... as a valid phar wrapper and opens the underlying phar file. The result is that IOFactory::load($attackerPath) walks past the patch and still touches the phar wrapper. On PHP 7.x, simply reaching the phar wrapper via is_file is enough for PHP to automatically deserialize the phar metadata, which in turn invokes the magic methods __wakeup and __destruct of an attacker controlled object and gives full RCE. On PHP 8.x, automatic metadata deserialization for plain file ops was removed, so the chain at the PhpSpreadsheet layer reduces to a phar wrapper file read primitive, and RCE only resurfaces if the downstream consumer ever calls Phar::getMetadata. This vulnerability is fixed in 1.30.5.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-06-23 15:02 UTC
    CWE
    • CWE-502 - Deserialization of Untrusted Data
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: < 1.30.5
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-45034",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-06-23T15:02:17.578308Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-06-23T15:53:10.411Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-87m4-826x-3crx"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.30.5"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.5, CVE-2026-34084 was patched by the helper File::prohibitWrappers. The helper calls parse_url($filename, PHP_URL_SCHEME) and then checks is_string($scheme) \u0026\u0026 strlen($scheme) \u003e 1 to reject stream wrappers such as phar://, php://, data:// or expect://. The check is not equivalent to \"does the path contain a wrapper\". When the input has the form phar:///path/file.phar/inner with three or more slashes after the scheme, parse_url returns boolean false instead of returning the scheme string. The is_string($scheme) branch is therefore skipped, the helper returns without throwing, and the caller proceeds. PHP\u0027s stream layer, however, still treats phar:///... as a valid phar wrapper and opens the underlying phar file. The result is that IOFactory::load($attackerPath) walks past the patch and still touches the phar wrapper. On PHP 7.x, simply reaching the phar wrapper via is_file is enough for PHP to automatically deserialize the phar metadata, which in turn invokes the magic methods __wakeup and __destruct of an attacker controlled object and gives full RCE. On PHP 8.x, automatic metadata deserialization for plain file ops was removed, so the chain at the PhpSpreadsheet layer reduces to a phar wrapper file read primitive, and RCE only resurfaces if the downstream consumer ever calls Phar::getMetadata. This vulnerability is fixed in 1.30.5."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 9.2,
                "baseSeverity": "CRITICAL",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-502",
                  "description": "CWE-502: Deserialization of Untrusted Data",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-06-22T20:32:32.011Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-87m4-826x-3crx",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-87m4-826x-3crx"
            }
          ],
          "source": {
            "advisory": "GHSA-87m4-826x-3crx",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: File::prohibitWrappers bypass"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-45034",
        "datePublished": "2026-06-22T20:32:32.011Z",
        "dateReserved": "2026-05-08T16:58:28.897Z",
        "dateUpdated": "2026-06-23T15:53:10.411Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-40902 (GCVE-0-2026-40902)

    Vulnerability from nvd – Published: 2026-05-12 22:02 – Updated: 2026-05-13 12:11
    VLAI
    Title
    PhpSpreadsheet: CPU Denial of Service via Unbounded Row Number in XLSX Row Dimensions
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the XLSX reader's ColumnAndRowAttributes::readRowAttributes() method reads row numbers from XML attributes without validating them against the spreadsheet maximum row limit (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a minimal XLSX file (~1.6KB) containing a <row r="999999999"/> element that inflates cachedHighestRow to 999,999,999, causing any subsequent row iteration to attempt ~1 billion loop cycles and exhaust CPU resources. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-13 12:11 UTC
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: < 1.30.4
    Affected: >= 2.0.0, < 2.1.16
    Affected: >= 2.2.0, < 2.4.5
    Affected: >= 3.3.0, < 3.10.5
    Affected: >= 4.0.0, < 5.7.0
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-40902",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-13T12:11:26.338564Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-13T12:11:34.633Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-7c6m-4442-2x6m"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.30.4"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.16"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.5"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.5"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.7.0"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the XLSX reader\u0027s ColumnAndRowAttributes::readRowAttributes() method reads row numbers from XML attributes without validating them against the spreadsheet maximum row limit (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a minimal XLSX file (~1.6KB) containing a \u003crow r=\"999999999\"/\u003e element that inflates cachedHighestRow to 999,999,999, causing any subsequent row iteration to attempt ~1 billion loop cycles and exhaust CPU resources. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770: Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-12T22:02:39.802Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-7c6m-4442-2x6m",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-7c6m-4442-2x6m"
            }
          ],
          "source": {
            "advisory": "GHSA-7c6m-4442-2x6m",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: CPU Denial of Service via Unbounded Row Number in XLSX Row Dimensions"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-40902",
        "datePublished": "2026-05-12T22:02:39.802Z",
        "dateReserved": "2026-04-15T16:37:22.767Z",
        "dateUpdated": "2026-05-13T12:11:34.633Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-40863 (GCVE-0-2026-40863)

    Vulnerability from nvd – Published: 2026-05-12 22:04 – Updated: 2026-05-13 15:03
    VLAI
    Title
    PhpSpreadsheet: CPU Denial of Service via Unbounded Row Index in SpreadsheetML XML Reader
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the SpreadsheetML XML reader (Reader\Xml) does not validate the ss:Index row attribute against the maximum allowed row count (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a SpreadsheetML XML file with ss:Index="999999999" on a <Row> element, which inflates the internal cachedHighestRow to ~1 billion. Any subsequent call to getRowIterator() without an explicit end row will attempt to iterate ~1 billion rows, causing CPU exhaustion and denial of service. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-13 15:01 UTC
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: < 1.30.4
    Affected: >= 2.0.0, < 2.1.16
    Affected: >= 2.2.0, < 2.4.5
    Affected: >= 3.3.0, < 3.10.5
    Affected: >= 4.0.0, < 5.7.0
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-40863",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-13T15:01:42.488212Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-13T15:03:23.782Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-84wq-86v6-x5j6"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.30.4"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.16"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.5"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.5"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.7.0"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the SpreadsheetML XML reader (Reader\\Xml) does not validate the ss:Index row attribute against the maximum allowed row count (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a SpreadsheetML XML file with ss:Index=\"999999999\" on a \u003cRow\u003e element, which inflates the internal cachedHighestRow to ~1 billion. Any subsequent call to getRowIterator() without an explicit end row will attempt to iterate ~1 billion rows, causing CPU exhaustion and denial of service. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770: Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-12T22:04:29.510Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-84wq-86v6-x5j6",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-84wq-86v6-x5j6"
            }
          ],
          "source": {
            "advisory": "GHSA-84wq-86v6-x5j6",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: CPU Denial of Service via Unbounded Row Index in SpreadsheetML XML Reader"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-40863",
        "datePublished": "2026-05-12T22:04:29.510Z",
        "dateReserved": "2026-04-15T15:57:41.717Z",
        "dateUpdated": "2026-05-13T15:03:23.782Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-40296 (GCVE-0-2026-40296)

    Vulnerability from nvd – Published: 2026-05-06 20:48 – Updated: 2026-05-07 14:03
    VLAI
    Title
    PhpSpreadsheet vulnerable to XSS in HTML writer via custom number format codes
    Summary
    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.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-07 14:02 UTC
    CWE
    • CWE-79 - Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 4.0.0, <= 5.6.0
    Affected: >= 3.3.0, <= 3.10.4
    Affected: >= 2.2.0, <= 2.4.4
    Affected: >= 2.0.0, <= 2.1.15
    Affected: <= 1.30.3
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-40296",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-07T14:02:42.632553Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-07T14:03:36.388Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-hrmw-qprp-wgmc"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c= 5.6.0"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c= 3.10.4"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c= 2.4.4"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c= 2.1.15"
                },
                {
                  "status": "affected",
                  "version": "\u003c= 1.30.3"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. The HTML writer skips htmlspecialchars escaping when a cell\u0027s 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."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 5.4,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "LOW",
                "integrityImpact": "LOW",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-79",
                  "description": "CWE-79: Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-06T20:48:34.504Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-hrmw-qprp-wgmc",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-hrmw-qprp-wgmc"
            }
          ],
          "source": {
            "advisory": "GHSA-hrmw-qprp-wgmc",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet vulnerable to XSS in HTML writer via custom number format codes"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-40296",
        "datePublished": "2026-05-06T20:48:34.504Z",
        "dateReserved": "2026-04-10T20:22:44.035Z",
        "dateUpdated": "2026-05-07T14:03:36.388Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-35453 (GCVE-0-2026-35453)

    Vulnerability from nvd – Published: 2026-05-05 19:39 – Updated: 2026-05-06 14:27
    VLAI
    Title
    PhpSpreadsheet XSS via number format text substitution in HTML Writer
    Summary
    PhpSpreadsheet is a library for reading and writing spreadsheet files. In versions 1.30.3 and earlier, 2.0.0 through 2.1.15, 2.2.0 through 2.4.4, 3.3.0 through 3.10.4, and 4.0.0 through 5.6.0, the HTML Writer skips htmlspecialchars() output escaping when a cell uses a custom number format containing the @ text placeholder with additional literal text (e.g., @ "items"). The escaping is only applied when the formatted output strictly equals the original cell value. When the format code contains @ with quoted literal text, the formatter substitutes the raw cell value into the format string and returns early without invoking the escaping callback. An attacker who can control cell content in a spreadsheet processed by the HTML Writer can inject arbitrary HTML and JavaScript into the generated output. This issue has been fixed in versions 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-06 14:27 UTC
    CWE
    • CWE-79 - Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 4.0.0, <= 5.6.0
    Affected: >= 3.3.0, <= 3.10.4
    Affected: >= 2.2.0, <= 2.4.4
    Affected: >= 2.0.0, <= 2.1.15
    Affected: <= 1.30.3
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-35453",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-06T14:27:23.407171Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-06T14:27:43.313Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6wpp-88cp-7q68"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c= 5.6.0"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c= 3.10.4"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c= 2.4.4"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c= 2.1.15"
                },
                {
                  "status": "affected",
                  "version": "\u003c= 1.30.3"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a library for reading and writing spreadsheet files. In versions 1.30.3 and earlier, 2.0.0 through 2.1.15, 2.2.0 through 2.4.4, 3.3.0 through 3.10.4, and 4.0.0 through 5.6.0, the HTML Writer skips htmlspecialchars() output escaping when a cell uses a custom number format containing the @ text placeholder with additional literal text (e.g., @ \"items\"). The escaping is only applied when the formatted output strictly equals the original cell value. When the format code contains @ with quoted literal text, the formatter substitutes the raw cell value into the format string and returns early without invoking the escaping callback. An attacker who can control cell content in a spreadsheet processed by the HTML Writer can inject arbitrary HTML and JavaScript into the generated output. This issue has been fixed in versions 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 4.8,
                "baseSeverity": "MEDIUM",
                "privilegesRequired": "LOW",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "LOW",
                "subIntegrityImpact": "LOW",
                "userInteraction": "ACTIVE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-79",
                  "description": "CWE-79: Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-05T19:39:54.507Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6wpp-88cp-7q68",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6wpp-88cp-7q68"
            }
          ],
          "source": {
            "advisory": "GHSA-6wpp-88cp-7q68",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet XSS via number format text substitution in HTML Writer"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-35453",
        "datePublished": "2026-05-05T19:39:54.507Z",
        "dateReserved": "2026-04-02T19:25:52.192Z",
        "dateUpdated": "2026-05-06T14:27:43.313Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-34084 (GCVE-0-2026-34084)

    Vulnerability from nvd – Published: 2026-05-05 19:22 – Updated: 2026-05-05 19:32
    VLAI
    Title
    PhpSpreadsheet SSRF and RCE via PHP stream wrappers in IOFactory::load
    Summary
    PhpSpreadsheet is a library for reading and writing spreadsheet files. In versions 1.30.2 and earlier, 2.0.0 through 2.1.14, 2.2.0 through 2.4.3, 3.3.0 through 3.10.3, and 4.0.0 through 5.5.0, when the filename argument to IOFactory::load() is user-controlled, an attacker can supply a PHP stream wrapper path (such as phar://, ftp://, or ssh2.sftp://) that passes the is_file() check in File::assertFile(). The phar:// wrapper triggers deserialization of the PHAR metadata, which can lead to remote code execution if a suitable gadget chain is available in the application. The ftp:// and ssh2.sftp:// wrappers can be used for server-side request forgery. This issue has been fixed in versions 1.30.3, 2.1.15, 2.4.4, 3.10.4, and 5.6.0.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-05 19:32 UTC
    CWE
    • CWE-502 - Deserialization of Untrusted Data
    • CWE-918 - Server-Side Request Forgery (SSRF)
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 4.0.0, <= 5.5.0
    Affected: >= 3.3.0, <= 3.10.3
    Affected: >= 2.2.0, <= 2.4.3
    Affected: >= 2.0.0, <= 2.1.14
    Affected: <= 1.30.2
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-34084",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-05T19:32:56.945252Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-05T19:32:59.799Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-q4q6-r8wh-5cgh"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c= 5.5.0"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c= 3.10.3"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c= 2.4.3"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c= 2.1.14"
                },
                {
                  "status": "affected",
                  "version": "\u003c= 1.30.2"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a library for reading and writing spreadsheet files. In versions 1.30.2 and earlier, 2.0.0 through 2.1.14, 2.2.0 through 2.4.3, 3.3.0 through 3.10.3, and 4.0.0 through 5.5.0, when the filename argument to IOFactory::load() is user-controlled, an attacker can supply a PHP stream wrapper path (such as phar://, ftp://, or ssh2.sftp://) that passes the is_file() check in File::assertFile(). The phar:// wrapper triggers deserialization of the PHAR metadata, which can lead to remote code execution if a suitable gadget chain is available in the application. The ftp:// and ssh2.sftp:// wrappers can be used for server-side request forgery. This issue has been fixed in versions 1.30.3, 2.1.15, 2.4.4, 3.10.4, and 5.6.0."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 9.2,
                "baseSeverity": "CRITICAL",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-502",
                  "description": "CWE-502: Deserialization of Untrusted Data",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-05T19:22:16.383Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-q4q6-r8wh-5cgh",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-q4q6-r8wh-5cgh"
            }
          ],
          "source": {
            "advisory": "GHSA-q4q6-r8wh-5cgh",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet SSRF and RCE via PHP stream wrappers in IOFactory::load"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-34084",
        "datePublished": "2026-05-05T19:22:16.383Z",
        "dateReserved": "2026-03-25T16:21:40.869Z",
        "dateUpdated": "2026-05-05T19:32:59.799Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-108357 (GCVE-0-2026-108357)

    Vulnerability from cvelistv5 – Published: 2026-10-22 17:38 – Updated: 2026-10-23 21:08
    VLAI
    Title
    PhpSpreadsheet: XmlScanner Bypass via Double-Encoded unentity() TOCTOU Allows XXE and Denial of Service
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. From 3.3.0 until 3.10.8 and 5.10.0, Reader\Xml passes stored SpreadsheetML XML through XmlScanner::scan in Xml::canRead and Xml::trySimpleXMLLoadStringPrivate, while Xml::unentity decodes numeric entities only after each DOCTYPE pattern check. A double-encoded less-than character is reduced by the first callback to another encoded character and by the second callback to a literal less-than sign, so SimpleXML receives an unchecked DOCTYPE and entity declaration. Processing attacker-controlled SpreadsheetML XML can cause entity-expansion denial of service and can permit local file access or SSRF on PHP before 8.0 or when LIBXML_NOENT is enabled. This issue is fixed in versions 3.10.8 and 5.10.0.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-10-23 17:32 UTC
    CWE
    • CWE-611 - Improper Restriction of XML External Entity Reference
    • CWE-776 - Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 3.3.0, < 3.10.8
    Affected: >= 4.0.0, < 5.10.0
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-108357",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-10-23T17:32:57.479788Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-10-23T21:08:17.784Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.10.0"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. From 3.3.0 until 3.10.8 and 5.10.0, Reader\\Xml passes stored SpreadsheetML XML through XmlScanner::scan in Xml::canRead and Xml::trySimpleXMLLoadStringPrivate, while Xml::unentity decodes numeric entities only after each DOCTYPE pattern check. A double-encoded less-than character is reduced by the first callback to another encoded character and by the second callback to a literal less-than sign, so SimpleXML receives an unchecked DOCTYPE and entity declaration. Processing attacker-controlled SpreadsheetML XML can cause entity-expansion denial of service and can permit local file access or SSRF on PHP before 8.0 or when LIBXML_NOENT is enabled. This issue is fixed in versions 3.10.8 and 5.10.0."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "LOW",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:L/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "LOW",
                "vulnIntegrityImpact": "NONE"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-611",
                  "description": "CWE-611: Improper Restriction of XML External Entity Reference",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-776",
                  "description": "CWE-776: Improper Restriction of Recursive Entity References in DTDs (\u0027XML Entity Expansion\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T17:38:16.098Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-rxj4-h86g-25gc",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-rxj4-h86g-25gc"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/89f455c133e1a7e2d4abfadc43ce29eb7450d781",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/89f455c133e1a7e2d4abfadc43ce29eb7450d781"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0"
            }
          ],
          "source": {
            "advisory": "GHSA-rxj4-h86g-25gc",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: XmlScanner Bypass via Double-Encoded unentity() TOCTOU Allows XXE and Denial of Service"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-108357",
        "datePublished": "2026-10-22T17:38:16.098Z",
        "dateReserved": "2026-10-09T20:32:44.301Z",
        "dateUpdated": "2026-10-23T21:08:17.784Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-108359 (GCVE-0-2026-108359)

    Vulnerability from cvelistv5 – Published: 2026-10-22 17:32 – Updated: 2026-10-22 17:32
    VLAI
    Title
    PhpSpreadsheet ODS Reader: Unbounded number-rows-repeated → CPU & Memory Exhaustion (DoS)
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, Ods::processTableRow in src/PhpSpreadsheet/Reader/Ods.php accepts an unbounded table:number-rows-repeated attribute from an ODS table row. When the row contains a value, the reader materializes a cell for every repetition without checking the spreadsheet row limit, so a small attacker-controlled ODS file can consume substantial CPU and memory and terminate the PHP worker. Column repetition is separately bounded and is not part of this vulnerability. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0.
    CWE
    • CWE-400 - Uncontrolled Resource Consumption
    • CWE-789 - Memory Allocation with Excessive Size Value
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: < 1.30.7
    Affected: >= 2.0.0, < 2.1.19
    Affected: >= 2.2.0, < 2.4.8
    Affected: >= 3.3.0, < 3.10.8
    Affected: >= 4.0.0, < 5.10.0
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.30.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.19"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.10.0"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, Ods::processTableRow in src/PhpSpreadsheet/Reader/Ods.php accepts an unbounded table:number-rows-repeated attribute from an ODS table row. When the row contains a value, the reader materializes a cell for every repetition without checking the spreadsheet row limit, so a small attacker-controlled ODS file can consume substantial CPU and memory and terminate the PHP worker. Column repetition is separately bounded and is not part of this vulnerability. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-400",
                  "description": "CWE-400: Uncontrolled Resource Consumption",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-789",
                  "description": "CWE-789: Memory Allocation with Excessive Size Value",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T17:32:49.724Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-j2w7-387v-m2rq",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-j2w7-387v-m2rq"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/2de29384aa11223ee08136c0e6a9e9981bc1a2eb",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/2de29384aa11223ee08136c0e6a9e9981bc1a2eb"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0"
            }
          ],
          "source": {
            "advisory": "GHSA-j2w7-387v-m2rq",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet ODS Reader: Unbounded number-rows-repeated \u2192 CPU \u0026 Memory Exhaustion (DoS)"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-108359",
        "datePublished": "2026-10-22T17:32:49.724Z",
        "dateReserved": "2026-10-09T20:32:44.301Z",
        "dateUpdated": "2026-10-22T17:32:49.724Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-108358 (GCVE-0-2026-108358)

    Vulnerability from cvelistv5 – Published: 2026-10-22 17:29 – Updated: 2026-10-23 21:08
    VLAI
    Title
    PhpSpreadsheet: XmlScanner Bypass via ISO-2022 Escape Sequences Allows XXE and Denial of Service
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, XmlScanner::scan in src/PhpSpreadsheet/Reader/Security/XmlScanner.php uses a DOCTYPE detection pattern that accounts for NUL-byte interleaving but not ISO-2022 escape sequences in XLSX XML parts. The escape sequences prevent the scanner from matching the declaration, and XML charset normalization then removes the escape bytes before parsing, exposing a valid DOCTYPE and entity definitions. Processing an attacker-controlled XLSX can therefore cause entity-expansion denial of service on supported PHP versions and can permit local file access or SSRF on PHP before 8.0 or when LIBXML_NOENT is enabled. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-10-23 17:32 UTC
    CWE
    • CWE-611 - Improper Restriction of XML External Entity Reference
    • CWE-776 - Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: < 1.30.7
    Affected: >= 2.0.0, < 2.1.19
    Affected: >= 2.2.0, < 2.4.8
    Affected: >= 3.3.0, < 3.10.8
    Affected: >= 4.0.0, < 5.10.0
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-108358",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-10-23T17:32:56.137020Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-10-23T21:08:28.517Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.30.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.19"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.10.0"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, XmlScanner::scan in src/PhpSpreadsheet/Reader/Security/XmlScanner.php uses a DOCTYPE detection pattern that accounts for NUL-byte interleaving but not ISO-2022 escape sequences in XLSX XML parts. The escape sequences prevent the scanner from matching the declaration, and XML charset normalization then removes the escape bytes before parsing, exposing a valid DOCTYPE and entity definitions. Processing an attacker-controlled XLSX can therefore cause entity-expansion denial of service on supported PHP versions and can permit local file access or SSRF on PHP before 8.0 or when LIBXML_NOENT is enabled. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "LOW",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:L/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "LOW",
                "vulnIntegrityImpact": "NONE"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-611",
                  "description": "CWE-611: Improper Restriction of XML External Entity Reference",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-776",
                  "description": "CWE-776: Improper Restriction of Recursive Entity References in DTDs (\u0027XML Entity Expansion\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T17:29:56.449Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-3x94-m842-937c",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-3x94-m842-937c"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/89f455c133e1a7e2d4abfadc43ce29eb7450d781",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/89f455c133e1a7e2d4abfadc43ce29eb7450d781"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0"
            }
          ],
          "source": {
            "advisory": "GHSA-3x94-m842-937c",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: XmlScanner Bypass via ISO-2022 Escape Sequences Allows XXE and Denial of Service"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-108358",
        "datePublished": "2026-10-22T17:29:56.449Z",
        "dateReserved": "2026-10-09T20:32:44.301Z",
        "dateUpdated": "2026-10-23T21:08:28.517Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-108360 (GCVE-0-2026-108360)

    Vulnerability from cvelistv5 – Published: 2026-10-22 17:26 – Updated: 2026-10-22 17:26
    VLAI
    Title
    PhpSpreadsheet: SSRF whitelist bypass via unre-validated HTTP redirect in Drawing::setPath external image loading
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, Worksheet\Drawing::setPath validates only the initial external-image URL with setIsWhitelisted when setAllowExternalImages is enabled. The HTTP stream context permits PHP to follow a redirect without applying the callback to the redirected URL, so a permitted image host can redirect the server to an internal address and cause a blind GET request. The response body is not returned to the attacker because the reader validates the downloaded content as an image and removes the temporary file, but internal GET-driven endpoints, network reachability, and cloud metadata endpoints may be reached. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0.
    CWE
    • CWE-863 - Incorrect Authorization
    • CWE-918 - Server-Side Request Forgery (SSRF)
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: < 1.30.7
    Affected: >= 2.0.0, < 2.1.19
    Affected: >= 2.2.0, < 2.4.8
    Affected: >= 3.3.0, < 3.10.8
    Affected: >= 4.0.0, < 5.10.0
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.30.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.19"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.8"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.10.0"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, Worksheet\\Drawing::setPath validates only the initial external-image URL with setIsWhitelisted when setAllowExternalImages is enabled. The HTTP stream context permits PHP to follow a redirect without applying the callback to the redirected URL, so a permitted image host can redirect the server to an internal address and cause a blind GET request. The response body is not returned to the attacker because the reader validates the downloaded content as an image and removes the temporary file, but internal GET-driven endpoints, network reachability, and cloud metadata endpoints may be reached. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 6.4,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "LOW",
                "integrityImpact": "LOW",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-863",
                  "description": "CWE-863: Incorrect Authorization",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T17:26:59.148Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-2phh-27fw-q4gc",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-2phh-27fw-q4gc"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/94590951d76a250a5fc1ecf69a0b3f7439a9af49",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/94590951d76a250a5fc1ecf69a0b3f7439a9af49"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0"
            }
          ],
          "source": {
            "advisory": "GHSA-2phh-27fw-q4gc",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: SSRF whitelist bypass via unre-validated HTTP redirect in Drawing::setPath external image loading"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-108360",
        "datePublished": "2026-10-22T17:26:59.148Z",
        "dateReserved": "2026-10-09T20:32:44.301Z",
        "dateUpdated": "2026-10-22T17:26:59.148Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-114404 (GCVE-0-2026-114404)

    Vulnerability from cvelistv5 – Published: 2026-10-21 12:39 – Updated: 2026-10-21 15:48
    VLAI
    Title
    PHPPresentation 1.2.0 XSS via Writer\HTML Text Runs, Hyperlinks and Descriptions
    Summary
    PHPOffice PHPPresentation 1.2.0 contains a cross-site scripting vulnerability in the HTML writer that allows attackers who supply presentation content to inject script into generated HTML. Attackers can craft a PPTX with malicious text runs, hyperlink relationship targets, or shape descr attributes that are emitted unescaped, executing script in viewers' browsers.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-10-21 15:07 UTC
    CWE
    • CWE-79 - Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
    Assigner
    VulnCheck CNA under the mitre root
    CNA scorecard B 84/100 over 6775 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PHPPresentation Affected: 1.2.0 , ≤ 1.2.0 (semver)
    Create a notification for this product.
    Date Public
    2026-10-09 09:59
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-114404",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-10-21T15:07:35.846807Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-10-21T15:48:21.337Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "packageURL": "pkg:composer/phpoffice/phppresentation",
              "product": "PHPPresentation",
              "repo": "https://github.com/PHPOffice/PHPPresentation",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "lessThanOrEqual": "1.2.0",
                  "status": "affected",
                  "version": "1.2.0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "leediay153 from Viettel Post"
            }
          ],
          "datePublic": "2026-10-09T09:59:42.000Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "PHPOffice PHPPresentation 1.2.0 contains a cross-site scripting vulnerability in the HTML writer that allows attackers who supply presentation content to inject script into generated HTML. Attackers can craft a PPTX with malicious text runs, hyperlink relationship targets, or shape descr attributes that are emitted unescaped, executing script in viewers\u0027 browsers."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 5.3,
                "baseSeverity": "MEDIUM",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "LOW",
                "subIntegrityImpact": "LOW",
                "userInteraction": "PASSIVE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE"
              },
              "format": "CVSS"
            },
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 6.1,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "LOW",
                "integrityImpact": "LOW",
                "privilegesRequired": "NONE",
                "scope": "CHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
                "version": "3.1"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-79",
                  "description": "Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-21T12:39:56.258Z",
            "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
            "shortName": "VulnCheck"
          },
          "references": [
            {
              "tags": [
                "third-party-advisory"
              ],
              "url": "https://hackmd.io/@leediay/multiple_vulnerable_phppresentation"
            },
            {
              "tags": [
                "technical-description"
              ],
              "url": "https://github.com/PHPOffice/PHPPresentation/blob/1.2.0/src/PhpPresentation/Writer/HTML.php#L307-L330"
            },
            {
              "tags": [
                "product"
              ],
              "url": "https://github.com/PHPOffice/PHPPresentation"
            },
            {
              "name": "VulnCheck Advisory: PHPPresentation 1.2.0 XSS via Writer\\HTML Text Runs, Hyperlinks and Descriptions",
              "tags": [
                "third-party-advisory"
              ],
              "url": "https://www.vulncheck.com/advisories/phppresentation-1.2.0-xss-via-writer-html-text-runs-hyperlinks-and-descriptions"
            }
          ],
          "title": "PHPPresentation 1.2.0 XSS via Writer\\HTML Text Runs, Hyperlinks and Descriptions",
          "x_generator": {
            "engine": "vulncheck-endgame"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "assignerShortName": "VulnCheck",
        "cveId": "CVE-2026-114404",
        "datePublished": "2026-10-21T12:39:56.258Z",
        "dateReserved": "2026-10-21T11:46:54.712Z",
        "dateUpdated": "2026-10-21T15:48:21.337Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-114403 (GCVE-0-2026-114403)

    Vulnerability from cvelistv5 – Published: 2026-10-21 12:39 – Updated: 2026-10-21 12:39
    VLAI
    Title
    PHPOffice PHPPresentation through 1.2.0 Deserialization via Reader\Serialized::load
    Summary
    PHPOffice PHPPresentation through 1.2.0 contains an insecure deserialization vulnerability that allows attackers to instantiate arbitrary PHP objects by supplying a crafted presentation file. Attackers can upload a ZIP containing PhpPresentation.xml that IOFactory::load passes to unserialize(), enabling gadget-chain code execution, file writes, or denial of service.
    CWE
    • CWE-502 - Deserialization of Untrusted Data
    Assigner
    VulnCheck CNA under the mitre root
    CNA scorecard B 84/100 over 6775 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PHPPresentation Affected: 0 , ≤ 1.2.0 (semver)
    Create a notification for this product.
    Date Public
    2026-10-09 09:59
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "packageURL": "pkg:composer/phpoffice/phppresentation",
              "product": "PHPPresentation",
              "repo": "https://github.com/PHPOffice/PHPPresentation",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "lessThanOrEqual": "1.2.0",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "leediay153 from Viettel Post"
            }
          ],
          "datePublic": "2026-10-09T09:59:42.000Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "PHPOffice PHPPresentation through 1.2.0 contains an insecure deserialization vulnerability that allows attackers to instantiate arbitrary PHP objects by supplying a crafted presentation file. Attackers can upload a ZIP containing PhpPresentation.xml that IOFactory::load passes to unserialize(), enabling gadget-chain code execution, file writes, or denial of service."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 9.2,
                "baseSeverity": "CRITICAL",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH"
              },
              "format": "CVSS"
            },
            {
              "cvssV3_1": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.1,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-502",
                  "description": "Deserialization of Untrusted Data",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-21T12:39:55.570Z",
            "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
            "shortName": "VulnCheck"
          },
          "references": [
            {
              "tags": [
                "third-party-advisory"
              ],
              "url": "https://hackmd.io/@leediay/multiple_vulnerable_phppresentation"
            },
            {
              "tags": [
                "technical-description"
              ],
              "url": "https://github.com/PHPOffice/PHPPresentation/blob/1.2.0/src/PhpPresentation/Reader/Serialized.php#L77-L109"
            },
            {
              "tags": [
                "technical-description"
              ],
              "url": "https://github.com/PHPOffice/PHPPresentation/blob/1.2.0/src/PhpPresentation/IOFactory.php#L39"
            },
            {
              "tags": [
                "product"
              ],
              "url": "https://github.com/PHPOffice/PHPPresentation"
            },
            {
              "name": "VulnCheck Advisory: PHPOffice PHPPresentation through 1.2.0 Deserialization via Reader\\Serialized::load",
              "tags": [
                "third-party-advisory"
              ],
              "url": "https://www.vulncheck.com/advisories/phpoffice-phppresentation-through-1.2.0-deserialization-via-reader-serialized-load"
            }
          ],
          "title": "PHPOffice PHPPresentation through 1.2.0 Deserialization via Reader\\Serialized::load",
          "x_generator": {
            "engine": "vulncheck-endgame"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "assignerShortName": "VulnCheck",
        "cveId": "CVE-2026-114403",
        "datePublished": "2026-10-21T12:39:55.570Z",
        "dateReserved": "2026-10-21T11:46:45.745Z",
        "dateUpdated": "2026-10-21T12:39:55.570Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-59932 (GCVE-0-2026-59932)

    Vulnerability from cvelistv5 – Published: 2026-07-28 17:59 – Updated: 2026-07-29 13:56
    VLAI
    Title
    PhpSpreadsheet: Gnumeric reader unbounded gzip expansion causes memory exhaustion
    Summary
    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 Gnumeric reader reads attacker-supplied .gnumeric files into memory and, when the file starts with gzip magic bytes, calls gzdecode() on the full compressed contents without enforcing a decompressed-size limit. A very small compressed .gnumeric file can expand to data larger than the PHP memory limit and crash the process during Gnumeric::canRead() before the file is rejected or fully parsed. This is reachable through normal file-type detection and Gnumeric loading paths, so applications that accept attacker-controlled spreadsheet uploads can suffer denial of service. This issue has been fixed in versions 5.8.1, 3.10.7, 2.4.7, 2.1.18 and 1.30.6.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-29 13:56 UTC
    CWE
    • CWE-400 - Uncontrolled Resource Consumption
    • CWE-409 - Improper Handling of Highly Compressed Data (Data Amplification)
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 4.0.0, < 5.8.1
    Affected: >= 3.3.0, < 3.10.7
    Affected: >= 2.2.0, < 2.4.7
    Affected: >= 2.0.0, < 2.1.18
    Affected: < 1.30.6
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-59932",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-29T13:56:10.618961Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-29T13:56:46.333Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-2mrg-gjxq-2gvr"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.8.1"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.18"
                },
                {
                  "status": "affected",
                  "version": "\u003c 1.30.6"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "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 Gnumeric reader reads attacker-supplied .gnumeric files into memory and, when the file starts with gzip magic bytes, calls gzdecode() on the full compressed contents without enforcing a decompressed-size limit. A very small compressed .gnumeric file can expand to data larger than the PHP memory limit and crash the process during Gnumeric::canRead() before the file is rejected or fully parsed. This is reachable through normal file-type detection and Gnumeric loading paths, so applications that accept attacker-controlled spreadsheet uploads can suffer denial of service. This issue has been fixed in versions 5.8.1, 3.10.7, 2.4.7, 2.1.18 and 1.30.6."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-400",
                  "description": "CWE-400: Uncontrolled Resource Consumption",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-409",
                  "description": "CWE-409: Improper Handling of Highly Compressed Data (Data Amplification)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-28T17:59:17.404Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-2mrg-gjxq-2gvr",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-2mrg-gjxq-2gvr"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/85f2556b0bf5269061bf45932ecda8a128d81750",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/85f2556b0bf5269061bf45932ecda8a128d81750"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1"
            }
          ],
          "source": {
            "advisory": "GHSA-2mrg-gjxq-2gvr",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: Gnumeric reader unbounded gzip expansion causes memory exhaustion"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-59932",
        "datePublished": "2026-07-28T17:59:17.404Z",
        "dateReserved": "2026-07-07T18:20:06.126Z",
        "dateUpdated": "2026-07-29T13:56:46.333Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-59933 (GCVE-0-2026-59933)

    Vulnerability from cvelistv5 – Published: 2026-07-28 17:29 – Updated: 2026-07-28 17:57
    VLAI
    Title
    PhpSpreadsheet: XLS/OLE sector-chain self-loop causes memory exhaustion
    Summary
    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 OLE reader follows sector chains from attacker-controlled XLS/OLE metadata without detecting cycles or enforcing a maximum chain length. A tiny malformed .xls/OLE file can set the small-block depot sector chain to point back to itself. During normal XLS detection, OLERead::read() appends the same sector data repeatedly until the PHP process exhausts memory. This is reachable from Reader\Xls::canRead() and therefore from automatic spreadsheet type detection. Applications that accept attacker-controlled spreadsheet uploads can suffer denial of service from a very small file. This issue has been fixed in versions 5.8.1, 3.10.7, 2.4.7, 2.1.18 and 1.30.6.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-28 17:57 UTC
    CWE
    • CWE-400 - Uncontrolled Resource Consumption
    • CWE-835 - Loop with Unreachable Exit Condition ('Infinite Loop')
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 4.0.0, < 5.8.1
    Affected: >= 3.3.0, < 3.10.7
    Affected: >= 2.2.0, < 2.4.7
    Affected: >= 2.0.0, < 2.1.18
    Affected: < 1.30.6
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-59933",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-28T17:57:16.033236Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-28T17:57:30.912Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-xh5m-36r6-47m3"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.8.1"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.18"
                },
                {
                  "status": "affected",
                  "version": "\u003c 1.30.6"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "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 OLE reader follows sector chains from attacker-controlled XLS/OLE metadata without detecting cycles or enforcing a maximum chain length. A tiny malformed .xls/OLE file can set the small-block depot sector chain to point back to itself. During normal XLS detection, OLERead::read() appends the same sector data repeatedly until the PHP process exhausts memory. This is reachable from Reader\\Xls::canRead() and therefore from automatic spreadsheet type detection. Applications that accept attacker-controlled spreadsheet uploads can suffer denial of service from a very small file. This issue has been fixed in versions 5.8.1, 3.10.7, 2.4.7, 2.1.18 and 1.30.6."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-400",
                  "description": "CWE-400: Uncontrolled Resource Consumption",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-835",
                  "description": "CWE-835: Loop with Unreachable Exit Condition (\u0027Infinite Loop\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-28T17:29:27.129Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-xh5m-36r6-47m3",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-xh5m-36r6-47m3"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/85f2556b0bf5269061bf45932ecda8a128d81750",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/85f2556b0bf5269061bf45932ecda8a128d81750"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1"
            }
          ],
          "source": {
            "advisory": "GHSA-xh5m-36r6-47m3",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: XLS/OLE sector-chain self-loop causes memory exhaustion"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-59933",
        "datePublished": "2026-07-28T17:29:27.129Z",
        "dateReserved": "2026-07-07T18:20:06.126Z",
        "dateUpdated": "2026-07-28T17:57:30.912Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-59931 (GCVE-0-2026-59931)

    Vulnerability from cvelistv5 – Published: 2026-07-28 17:27 – Updated: 2026-07-28 18:13
    VLAI
    Title
    PhpSpreadsheet: SSRF bypass via HTTP redirect in WEBSERVICE() domain whitelist
    Summary
    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.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-28 18:13 UTC
    CWE
    • CWE-918 - Server-Side Request Forgery (SSRF)
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 4.0.0, < 5.8.1
    Affected: >= 3.3.0, < 3.10.7
    Affected: >= 2.2.0, < 2.4.7
    Affected: >= 2.0.0, < 2.1.18
    Affected: < 1.30.6
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-59931",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-28T18:13:13.134222Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-28T18:13:17.566Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6hq5-7373-42rg"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.8.1"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.7"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.18"
                },
                {
                  "status": "affected",
                  "version": "\u003c 1.30.6"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "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\u0027s host against the whitelist set via Spreadsheet::setDomainWhiteList(), then fetches content with file_get_contents($url, false, $ctx); because PHP\u0027s 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\u0027s 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."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 7.7,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-28T17:27:27.300Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6hq5-7373-42rg",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6hq5-7373-42rg"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/commit/7ef7b25e8548a6ded79dac74e2e2c7acdac38d8d",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/7ef7b25e8548a6ded79dac74e2e2c7acdac38d8d"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7"
            },
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1"
            }
          ],
          "source": {
            "advisory": "GHSA-6hq5-7373-42rg",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: SSRF bypass via HTTP redirect in WEBSERVICE() domain whitelist"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-59931",
        "datePublished": "2026-07-28T17:27:27.300Z",
        "dateReserved": "2026-07-07T18:20:06.126Z",
        "dateUpdated": "2026-07-28T18:13:17.566Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-45034 (GCVE-0-2026-45034)

    Vulnerability from cvelistv5 – Published: 2026-06-22 20:32 – Updated: 2026-06-23 15:53
    VLAI
    Title
    PhpSpreadsheet: File::prohibitWrappers bypass
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.5, CVE-2026-34084 was patched by the helper File::prohibitWrappers. The helper calls parse_url($filename, PHP_URL_SCHEME) and then checks is_string($scheme) && strlen($scheme) > 1 to reject stream wrappers such as phar://, php://, data:// or expect://. The check is not equivalent to "does the path contain a wrapper". When the input has the form phar:///path/file.phar/inner with three or more slashes after the scheme, parse_url returns boolean false instead of returning the scheme string. The is_string($scheme) branch is therefore skipped, the helper returns without throwing, and the caller proceeds. PHP's stream layer, however, still treats phar:///... as a valid phar wrapper and opens the underlying phar file. The result is that IOFactory::load($attackerPath) walks past the patch and still touches the phar wrapper. On PHP 7.x, simply reaching the phar wrapper via is_file is enough for PHP to automatically deserialize the phar metadata, which in turn invokes the magic methods __wakeup and __destruct of an attacker controlled object and gives full RCE. On PHP 8.x, automatic metadata deserialization for plain file ops was removed, so the chain at the PhpSpreadsheet layer reduces to a phar wrapper file read primitive, and RCE only resurfaces if the downstream consumer ever calls Phar::getMetadata. This vulnerability is fixed in 1.30.5.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-06-23 15:02 UTC
    CWE
    • CWE-502 - Deserialization of Untrusted Data
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: < 1.30.5
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-45034",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-06-23T15:02:17.578308Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-06-23T15:53:10.411Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-87m4-826x-3crx"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.30.5"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.5, CVE-2026-34084 was patched by the helper File::prohibitWrappers. The helper calls parse_url($filename, PHP_URL_SCHEME) and then checks is_string($scheme) \u0026\u0026 strlen($scheme) \u003e 1 to reject stream wrappers such as phar://, php://, data:// or expect://. The check is not equivalent to \"does the path contain a wrapper\". When the input has the form phar:///path/file.phar/inner with three or more slashes after the scheme, parse_url returns boolean false instead of returning the scheme string. The is_string($scheme) branch is therefore skipped, the helper returns without throwing, and the caller proceeds. PHP\u0027s stream layer, however, still treats phar:///... as a valid phar wrapper and opens the underlying phar file. The result is that IOFactory::load($attackerPath) walks past the patch and still touches the phar wrapper. On PHP 7.x, simply reaching the phar wrapper via is_file is enough for PHP to automatically deserialize the phar metadata, which in turn invokes the magic methods __wakeup and __destruct of an attacker controlled object and gives full RCE. On PHP 8.x, automatic metadata deserialization for plain file ops was removed, so the chain at the PhpSpreadsheet layer reduces to a phar wrapper file read primitive, and RCE only resurfaces if the downstream consumer ever calls Phar::getMetadata. This vulnerability is fixed in 1.30.5."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 9.2,
                "baseSeverity": "CRITICAL",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-502",
                  "description": "CWE-502: Deserialization of Untrusted Data",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-06-22T20:32:32.011Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-87m4-826x-3crx",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-87m4-826x-3crx"
            }
          ],
          "source": {
            "advisory": "GHSA-87m4-826x-3crx",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: File::prohibitWrappers bypass"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-45034",
        "datePublished": "2026-06-22T20:32:32.011Z",
        "dateReserved": "2026-05-08T16:58:28.897Z",
        "dateUpdated": "2026-06-23T15:53:10.411Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-40863 (GCVE-0-2026-40863)

    Vulnerability from cvelistv5 – Published: 2026-05-12 22:04 – Updated: 2026-05-13 15:03
    VLAI
    Title
    PhpSpreadsheet: CPU Denial of Service via Unbounded Row Index in SpreadsheetML XML Reader
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the SpreadsheetML XML reader (Reader\Xml) does not validate the ss:Index row attribute against the maximum allowed row count (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a SpreadsheetML XML file with ss:Index="999999999" on a <Row> element, which inflates the internal cachedHighestRow to ~1 billion. Any subsequent call to getRowIterator() without an explicit end row will attempt to iterate ~1 billion rows, causing CPU exhaustion and denial of service. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-13 15:01 UTC
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: < 1.30.4
    Affected: >= 2.0.0, < 2.1.16
    Affected: >= 2.2.0, < 2.4.5
    Affected: >= 3.3.0, < 3.10.5
    Affected: >= 4.0.0, < 5.7.0
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-40863",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-13T15:01:42.488212Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-13T15:03:23.782Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-84wq-86v6-x5j6"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.30.4"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.16"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.5"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.5"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.7.0"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the SpreadsheetML XML reader (Reader\\Xml) does not validate the ss:Index row attribute against the maximum allowed row count (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a SpreadsheetML XML file with ss:Index=\"999999999\" on a \u003cRow\u003e element, which inflates the internal cachedHighestRow to ~1 billion. Any subsequent call to getRowIterator() without an explicit end row will attempt to iterate ~1 billion rows, causing CPU exhaustion and denial of service. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770: Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-12T22:04:29.510Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-84wq-86v6-x5j6",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-84wq-86v6-x5j6"
            }
          ],
          "source": {
            "advisory": "GHSA-84wq-86v6-x5j6",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: CPU Denial of Service via Unbounded Row Index in SpreadsheetML XML Reader"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-40863",
        "datePublished": "2026-05-12T22:04:29.510Z",
        "dateReserved": "2026-04-15T15:57:41.717Z",
        "dateUpdated": "2026-05-13T15:03:23.782Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-40902 (GCVE-0-2026-40902)

    Vulnerability from cvelistv5 – Published: 2026-05-12 22:02 – Updated: 2026-05-13 12:11
    VLAI
    Title
    PhpSpreadsheet: CPU Denial of Service via Unbounded Row Number in XLSX Row Dimensions
    Summary
    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the XLSX reader's ColumnAndRowAttributes::readRowAttributes() method reads row numbers from XML attributes without validating them against the spreadsheet maximum row limit (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a minimal XLSX file (~1.6KB) containing a <row r="999999999"/> element that inflates cachedHighestRow to 999,999,999, causing any subsequent row iteration to attempt ~1 billion loop cycles and exhaust CPU resources. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-13 12:11 UTC
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: < 1.30.4
    Affected: >= 2.0.0, < 2.1.16
    Affected: >= 2.2.0, < 2.4.5
    Affected: >= 3.3.0, < 3.10.5
    Affected: >= 4.0.0, < 5.7.0
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-40902",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-13T12:11:26.338564Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-13T12:11:34.633Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-7c6m-4442-2x6m"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.30.4"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c 2.1.16"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c 2.4.5"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c 3.10.5"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c 5.7.0"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the XLSX reader\u0027s ColumnAndRowAttributes::readRowAttributes() method reads row numbers from XML attributes without validating them against the spreadsheet maximum row limit (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a minimal XLSX file (~1.6KB) containing a \u003crow r=\"999999999\"/\u003e element that inflates cachedHighestRow to 999,999,999, causing any subsequent row iteration to attempt ~1 billion loop cycles and exhaust CPU resources. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770: Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-12T22:02:39.802Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-7c6m-4442-2x6m",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-7c6m-4442-2x6m"
            }
          ],
          "source": {
            "advisory": "GHSA-7c6m-4442-2x6m",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet: CPU Denial of Service via Unbounded Row Number in XLSX Row Dimensions"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-40902",
        "datePublished": "2026-05-12T22:02:39.802Z",
        "dateReserved": "2026-04-15T16:37:22.767Z",
        "dateUpdated": "2026-05-13T12:11:34.633Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-40296 (GCVE-0-2026-40296)

    Vulnerability from cvelistv5 – Published: 2026-05-06 20:48 – Updated: 2026-05-07 14:03
    VLAI
    Title
    PhpSpreadsheet vulnerable to XSS in HTML writer via custom number format codes
    Summary
    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.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-07 14:02 UTC
    CWE
    • CWE-79 - Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 4.0.0, <= 5.6.0
    Affected: >= 3.3.0, <= 3.10.4
    Affected: >= 2.2.0, <= 2.4.4
    Affected: >= 2.0.0, <= 2.1.15
    Affected: <= 1.30.3
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-40296",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-07T14:02:42.632553Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-07T14:03:36.388Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-hrmw-qprp-wgmc"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c= 5.6.0"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c= 3.10.4"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c= 2.4.4"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c= 2.1.15"
                },
                {
                  "status": "affected",
                  "version": "\u003c= 1.30.3"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. The HTML writer skips htmlspecialchars escaping when a cell\u0027s 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."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 5.4,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "LOW",
                "integrityImpact": "LOW",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-79",
                  "description": "CWE-79: Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-06T20:48:34.504Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-hrmw-qprp-wgmc",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-hrmw-qprp-wgmc"
            }
          ],
          "source": {
            "advisory": "GHSA-hrmw-qprp-wgmc",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet vulnerable to XSS in HTML writer via custom number format codes"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-40296",
        "datePublished": "2026-05-06T20:48:34.504Z",
        "dateReserved": "2026-04-10T20:22:44.035Z",
        "dateUpdated": "2026-05-07T14:03:36.388Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-35453 (GCVE-0-2026-35453)

    Vulnerability from cvelistv5 – Published: 2026-05-05 19:39 – Updated: 2026-05-06 14:27
    VLAI
    Title
    PhpSpreadsheet XSS via number format text substitution in HTML Writer
    Summary
    PhpSpreadsheet is a library for reading and writing spreadsheet files. In versions 1.30.3 and earlier, 2.0.0 through 2.1.15, 2.2.0 through 2.4.4, 3.3.0 through 3.10.4, and 4.0.0 through 5.6.0, the HTML Writer skips htmlspecialchars() output escaping when a cell uses a custom number format containing the @ text placeholder with additional literal text (e.g., @ "items"). The escaping is only applied when the formatted output strictly equals the original cell value. When the format code contains @ with quoted literal text, the formatter substitutes the raw cell value into the format string and returns early without invoking the escaping callback. An attacker who can control cell content in a spreadsheet processed by the HTML Writer can inject arbitrary HTML and JavaScript into the generated output. This issue has been fixed in versions 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-06 14:27 UTC
    CWE
    • CWE-79 - Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 4.0.0, <= 5.6.0
    Affected: >= 3.3.0, <= 3.10.4
    Affected: >= 2.2.0, <= 2.4.4
    Affected: >= 2.0.0, <= 2.1.15
    Affected: <= 1.30.3
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-35453",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-06T14:27:23.407171Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-06T14:27:43.313Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6wpp-88cp-7q68"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c= 5.6.0"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c= 3.10.4"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c= 2.4.4"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c= 2.1.15"
                },
                {
                  "status": "affected",
                  "version": "\u003c= 1.30.3"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a library for reading and writing spreadsheet files. In versions 1.30.3 and earlier, 2.0.0 through 2.1.15, 2.2.0 through 2.4.4, 3.3.0 through 3.10.4, and 4.0.0 through 5.6.0, the HTML Writer skips htmlspecialchars() output escaping when a cell uses a custom number format containing the @ text placeholder with additional literal text (e.g., @ \"items\"). The escaping is only applied when the formatted output strictly equals the original cell value. When the format code contains @ with quoted literal text, the formatter substitutes the raw cell value into the format string and returns early without invoking the escaping callback. An attacker who can control cell content in a spreadsheet processed by the HTML Writer can inject arbitrary HTML and JavaScript into the generated output. This issue has been fixed in versions 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 4.8,
                "baseSeverity": "MEDIUM",
                "privilegesRequired": "LOW",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "LOW",
                "subIntegrityImpact": "LOW",
                "userInteraction": "ACTIVE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-79",
                  "description": "CWE-79: Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-05T19:39:54.507Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6wpp-88cp-7q68",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6wpp-88cp-7q68"
            }
          ],
          "source": {
            "advisory": "GHSA-6wpp-88cp-7q68",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet XSS via number format text substitution in HTML Writer"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-35453",
        "datePublished": "2026-05-05T19:39:54.507Z",
        "dateReserved": "2026-04-02T19:25:52.192Z",
        "dateUpdated": "2026-05-06T14:27:43.313Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-34084 (GCVE-0-2026-34084)

    Vulnerability from cvelistv5 – Published: 2026-05-05 19:22 – Updated: 2026-05-05 19:32
    VLAI
    Title
    PhpSpreadsheet SSRF and RCE via PHP stream wrappers in IOFactory::load
    Summary
    PhpSpreadsheet is a library for reading and writing spreadsheet files. In versions 1.30.2 and earlier, 2.0.0 through 2.1.14, 2.2.0 through 2.4.3, 3.3.0 through 3.10.3, and 4.0.0 through 5.5.0, when the filename argument to IOFactory::load() is user-controlled, an attacker can supply a PHP stream wrapper path (such as phar://, ftp://, or ssh2.sftp://) that passes the is_file() check in File::assertFile(). The phar:// wrapper triggers deserialization of the PHAR metadata, which can lead to remote code execution if a suitable gadget chain is available in the application. The ftp:// and ssh2.sftp:// wrappers can be used for server-side request forgery. This issue has been fixed in versions 1.30.3, 2.1.15, 2.4.4, 3.10.4, and 5.6.0.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-05 19:32 UTC
    CWE
    • CWE-502 - Deserialization of Untrusted Data
    • CWE-918 - Server-Side Request Forgery (SSRF)
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7761 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    PHPOffice PhpSpreadsheet Affected: >= 4.0.0, <= 5.5.0
    Affected: >= 3.3.0, <= 3.10.3
    Affected: >= 2.2.0, <= 2.4.3
    Affected: >= 2.0.0, <= 2.1.14
    Affected: <= 1.30.2
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-34084",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-05T19:32:56.945252Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-05T19:32:59.799Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-q4q6-r8wh-5cgh"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "PhpSpreadsheet",
              "vendor": "PHPOffice",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 4.0.0, \u003c= 5.5.0"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 3.3.0, \u003c= 3.10.3"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.2.0, \u003c= 2.4.3"
                },
                {
                  "status": "affected",
                  "version": "\u003e= 2.0.0, \u003c= 2.1.14"
                },
                {
                  "status": "affected",
                  "version": "\u003c= 1.30.2"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "PhpSpreadsheet is a library for reading and writing spreadsheet files. In versions 1.30.2 and earlier, 2.0.0 through 2.1.14, 2.2.0 through 2.4.3, 3.3.0 through 3.10.3, and 4.0.0 through 5.5.0, when the filename argument to IOFactory::load() is user-controlled, an attacker can supply a PHP stream wrapper path (such as phar://, ftp://, or ssh2.sftp://) that passes the is_file() check in File::assertFile(). The phar:// wrapper triggers deserialization of the PHAR metadata, which can lead to remote code execution if a suitable gadget chain is available in the application. The ftp:// and ssh2.sftp:// wrappers can be used for server-side request forgery. This issue has been fixed in versions 1.30.3, 2.1.15, 2.4.4, 3.10.4, and 5.6.0."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 9.2,
                "baseSeverity": "CRITICAL",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-502",
                  "description": "CWE-502: Deserialization of Untrusted Data",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-05T19:22:16.383Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-q4q6-r8wh-5cgh",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-q4q6-r8wh-5cgh"
            }
          ],
          "source": {
            "advisory": "GHSA-q4q6-r8wh-5cgh",
            "discovery": "UNKNOWN"
          },
          "title": "PhpSpreadsheet SSRF and RCE via PHP stream wrappers in IOFactory::load"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-34084",
        "datePublished": "2026-05-05T19:22:16.383Z",
        "dateReserved": "2026-03-25T16:21:40.869Z",
        "dateUpdated": "2026-05-05T19:32:59.799Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }