Skip to content

enh(expat): Upgrade to expat 2.7.3#5101

Merged
matejk merged 1 commit intomainfrom
upgrade-expat-2.7.3
Dec 17, 2025
Merged

enh(expat): Upgrade to expat 2.7.3#5101
matejk merged 1 commit intomainfrom
upgrade-expat-2.7.3

Conversation

@matejk
Copy link
Copy Markdown
Contributor

@matejk matejk commented Dec 16, 2025

Summary

Upgrades the bundled expat XML parser library from 2.7.1 to 2.7.3.

Closes #5028

Security Fixes

This upgrade addresses the following security vulnerabilities:

CVE-2025-59375 (Fixed in 2.7.2)

  • Severity: High (CVSS 7.5)
  • Type: Resource allocation without limits (CWE-770)
  • Impact: Denial of service through unrestricted memory allocation
  • Fix: Implements tracking and limiting of dynamic memory allocations

CVE-2024-8176 improvements (2.7.3)

  • The original fix for CVE-2024-8176 (stack overflow via nested entities) in 2.7.0 caused false reports for some malformed documents
  • Expat 2.7.3 corrects this behavior

Changes

Library upgrade

  • Updated all expat source files from 2.7.1 to 2.7.3
  • Added new winconfig.h file included in 2.7.3

POCO-specific modifications updated for 2.7.3

The patched xmlparse.cpp includes:

  • EXPAT_POCO mode for POCO-specific entropy using Poco::RandomInputStream
  • C++ keyword fix - renamed operator parameter to op (C++ reserved keyword)
  • C++ casts for all MALLOC, REALLOC, and malloc_fcn calls
  • Excludes OS-specific entropy functions when using POCO entropy

Updated patch file

The xmlparse_poco.patch has been regenerated for the new expat version.

@matejk matejk added this to the Release 1.15.0 milestone Dec 16, 2025
@matejk matejk merged commit 5bbdcf0 into main Dec 17, 2025
80 checks passed
@matejk matejk deleted the upgrade-expat-2.7.3 branch December 17, 2025 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade bundled libexpat to 2.7.3 [fixes CVE]

1 participant