Files
poky/meta/recipes-devtools
Amaury Couderc 44913c2842 python3: fix CVE-2026-7210
CVE-2026-7210 is a hash-flooding denial-of-service vulnerability in
Python's XML parsing modules (xml.parsers.expat, xml.etree.ElementTree).
An attacker can craft XML input that forces O(n²) hash collisions in
libexpat's internal name dictionary, causing excessive CPU consumption.

The previous mitigation seeded libexpat's hash function with only 4
bytes of entropy, which is insufficient against a determined attacker.
This patch upgrades to XML_SetHashSalt16Bytes (libexpat >= 2.8.0),
providing a full 16-byte secret. Older expat versions fall back
gracefully to the legacy XML_SetHashSalt via a runtime NULL check.

Backport patch to fix CVE-2026-7210.
https://nvd.nist.gov/vuln/detail/CVE-2026-7210

Upstream fix:
  24b8f12544

-- Changes from Upstream --

Replace compile-time version checks with runtime detection of the
XML_SetHashSalt16Bytes function using #pragma weak. This allows using
backported security fixes from expat even when version macros haven't
been bumped (in thus case expat 2.6.4 with CVE-2026-41080).

- Add weak symbol declaration for XML_SetHashSalt16Bytes
- Convert newxmlparseobject() version check to runtime NULL check
- Convert pyexpat_exec() CAPI export check to runtime NULL check

Tested with ptest:
  Before: PASSED: 40019, FAILED: 0, SKIPPED: 1882
  After: PASSED: 40020, FAILED: 0, SKIPPED: 1882

CVE: CVE-2026-7210

(From OE-Core rev: d753c46085c9d31f3b68d59f863855c909a6f400)

Signed-off-by: Amaury Couderc <amaury.couderc@est.tech>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
2026-08-24 11:43:45 +01:00
..
2024-01-21 12:27:12 +00:00
2023-07-30 07:54:44 +01:00
2024-03-01 09:28:51 +00:00
2024-09-19 05:11:35 -07:00
2024-02-03 22:08:26 +00:00
2023-05-05 11:07:25 +01:00
2026-06-26 16:55:54 +01:00
2025-11-03 07:17:01 -08:00
2026-07-02 13:42:25 +01:00
2023-09-26 10:35:27 +01:00
2023-12-02 17:18:57 +00:00
2024-09-09 06:08:10 -07:00
2024-03-07 17:25:02 +00:00
2025-09-30 08:01:59 -07:00
2023-06-27 16:23:40 +01:00
2025-09-01 08:30:56 -07:00
2023-03-11 00:08:41 +00:00
2024-10-18 06:04:41 -07:00
2024-07-26 07:43:46 -07:00
2023-09-26 10:35:27 +01:00
2025-07-29 07:59:53 -07:00
2024-08-10 06:34:25 -07:00
2024-12-06 05:50:25 -08:00
2025-07-29 07:59:52 -07:00
2026-07-20 09:04:32 +01:00
2025-05-02 08:20:11 -07:00
2026-06-26 16:55:53 +01:00
2026-08-24 11:43:45 +01:00
2026-07-20 09:04:32 +01:00
2024-03-07 17:25:03 +00:00
2026-05-12 21:31:33 +01:00
2025-12-31 07:49:31 -08:00
2026-07-20 09:04:32 +01:00
2024-03-01 09:28:52 +00:00
2025-07-07 07:42:58 -07:00
2026-05-04 13:57:31 +01:00
2024-03-18 12:21:45 +00:00
2026-07-22 21:08:55 +01:00