CVE-2024-45293 Vulnerability Analysis & Exploit Details

CVE-2024-45293
Vulnerability Scoring

7.5
/10
Very High Risk

Highly exploitable, CVE-2024-45293 poses a critical security risk that could lead to severe breaches.

Attack Complexity Details

  • Attack Complexity: Low
    Exploits can be performed without significant complexity or special conditions.
  • Attack Vector: Network
    Vulnerability is exploitable over a network without physical access.
  • Privileges Required: None
    No privileges are required for exploitation.
  • Scope: Unchanged
    Exploit remains within the originally vulnerable component.
  • User Interaction: None
    No user interaction is necessary for exploitation.

CVE-2024-45293 Details

Status: Analyzed

Last updated: 🕟 07 Mar 2025, 16:48 UTC
Originally published on: 🕗 07 Oct 2024, 20:15 UTC

Time between publication and last update: 150 days

CVSS Release: version 3

CVSS3 Source

security-advisories@github.com

CVSS3 Type

Secondary

CVSS3 Vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

CVE-2024-45293 Vulnerability Summary

CVE-2024-45293: PHPSpreadsheet is a pure PHP library for reading and writing spreadsheet files. The security scanner responsible for preventing XXE attacks in the XLSX reader can be bypassed by slightly modifying the XML structure, utilizing white-spaces. On servers that allow users to upload their own Excel (XLSX) sheets, Server files and sensitive information can be disclosed by providing a crafted sheet. The security scan function in src/PhpSpreadsheet/Reader/Security/XmlScanner.php contains a flawed XML encoding check to retrieve the input file's XML encoding in the toUtf8 function. The function searches for the XML encoding through a defined regex which looks for `encoding="*"` and/or `encoding='*'`, if not found, it defaults to the UTF-8 encoding which bypasses the conversion logic. This logic can be used to pass a UTF-7 encoded XXE payload, by utilizing a whitespace before or after the = in the attribute definition. Sensitive information disclosure through the XXE on sites that allow users to upload their own excel spreadsheets, and parse them using PHPSpreadsheet's Excel parser. This issue has been addressed in release versions 1.29.1, 2.1.1, and 2.3.0. All users are advised to upgrade. There are no known workarounds for this vulnerability.

Assessing the Risk of CVE-2024-45293

Access Complexity Graph

The exploitability of CVE-2024-45293 depends on two key factors: attack complexity (the level of effort required to execute an exploit) and privileges required (the access level an attacker needs).

Exploitability Analysis for CVE-2024-45293

With low attack complexity and no required privileges, CVE-2024-45293 is an easy target for cybercriminals. Organizations should prioritize immediate mitigation measures to prevent unauthorized access and data breaches.

Understanding AC and PR

A lower complexity and fewer privilege requirements make exploitation easier. Security teams should evaluate these aspects to determine the urgency of mitigation strategies, such as patch management and access control policies.

Attack Complexity (AC) measures the difficulty in executing an exploit. A high AC means that specific conditions must be met, making an attack more challenging, while a low AC means the vulnerability can be exploited with minimal effort.

Privileges Required (PR) determine the level of system access necessary for an attack. Vulnerabilities requiring no privileges are more accessible to attackers, whereas high privilege requirements limit exploitation to authorized users with elevated access.

CVSS Score Breakdown Chart

Above is the CVSS Sub-score Breakdown for CVE-2024-45293, illustrating how Base, Impact, and Exploitability factors combine to form the overall severity rating. A higher sub-score typically indicates a more severe or easier-to-exploit vulnerability.

CIA Impact Analysis

Below is the Impact Analysis for CVE-2024-45293, showing how Confidentiality, Integrity, and Availability might be affected if the vulnerability is exploited. Higher values usually signal greater potential damage.

  • Confidentiality: High
    Exploiting CVE-2024-45293 can result in unauthorized access to sensitive data, severely compromising data privacy.
  • Integrity: None
    CVE-2024-45293 poses no threat to data integrity.
  • Availability: None
    CVE-2024-45293 does not impact system availability.

Exploit Prediction Scoring System (EPSS)

The EPSS score estimates the probability that this vulnerability will be exploited in the near future.

EPSS Score: 1.094% (probability of exploit)

EPSS Percentile: 84.61% (lower percentile = lower relative risk)
This vulnerability is less risky than approximately 15.39% of others.

CVE-2024-45293 References

External References

CWE Common Weakness Enumeration

CWE-611

CAPEC Common Attack Pattern Enumeration and Classification

  • Data Serialization External Entities Blowup CAPEC-221 This attack takes advantage of the entity replacement property of certain data serialization languages (e.g., XML, YAML, etc.) where the value of the replacement is a URI. A well-crafted file could have the entity refer to a URI that consumes a large amount of resources to create a denial of service condition. This can cause the system to either freeze, crash, or execute arbitrary code depending on the URI.

Vulnerable Configurations

  • cpe:2.3:a:phpoffice:phpspreadsheet:-:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:-:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.0.0:-:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.0.0:-:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.0.0:beta:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.0.0:beta:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.0.0:beta2:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.0.0:beta2:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.2.1:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.2.1:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.3.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.3.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.3.1:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.3.1:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.4.1:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.4.1:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.5.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.5.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.5.1:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.5.1:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.5.2:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.5.2:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.6.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.6.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.7.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.7.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.8.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.8.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.8.1:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.8.1:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.8.2:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.8.2:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.9.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.9.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.10.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.10.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.10.1:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.10.1:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.11.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.11.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.12.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.12.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.13.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.13.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.14.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.14.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.14.1:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.14.1:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.15.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.15.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.16.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.16.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.17.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.17.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.17.1:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.17.1:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.18.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.18.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.19.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.19.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.20.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.20.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.21.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.21.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.22.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.22.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.23.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.23.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.24.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.24.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.24.1:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.24.1:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.25.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.25.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.25.1:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.25.1:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.25.2:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.25.2:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.26.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.26.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.27.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.27.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.27.1:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.27.1:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.28.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.28.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:1.29.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:1.29.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:2.0.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:2.0.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:2.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:2.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:2.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:2.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:2.2.1:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:2.2.1:*:*:*:*:*:*:*
  • cpe:2.3:a:phpoffice:phpspreadsheet:2.2.2:*:*:*:*:*:*:*
    cpe:2.3:a:phpoffice:phpspreadsheet:2.2.2:*:*:*:*:*:*:*

Protect Your Infrastructure against CVE-2024-45293: Combat Critical CVE Threats

Stay updated with real-time CVE vulnerabilities and take action to secure your systems. Enhance your cybersecurity posture with the latest threat intelligence and mitigation techniques. Develop the skills necessary to defend against CVEs and secure critical infrastructures. Join the top cybersecurity professionals safeguarding today's infrastructures.

Other 5 Recently Published CVEs Vulnerabilities

  • CVE-2025-4708 – A vulnerability classified as critical has been found in Campcodes Sales and Inventory System 1.0. Affected is an unknown function of the file /pag...
  • CVE-2025-4707 – A vulnerability was found in Campcodes Sales and Inventory System 1.0. It has been rated as critical. This issue affects some unknown processing of...
  • CVE-2025-4706 – A vulnerability was found in projectworlds Online Examination System 1.0. It has been declared as critical. This vulnerability affects unknown code...
  • CVE-2025-47580 – Missing Authorization vulnerability in Rustaurius Front End Users allows Exploiting Incorrectly Configured Access Control Security Levels.This issu...
  • CVE-2025-30421 – There is a memory corruption vulnerability due to a stack-based buffer overflow in DrObjectStorage::XML_Serialize() when using the SymbolEditor in ...