Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AUTO-CHERRYPICK] libxml2: address CVE-2024-40896 - branch 3.0-dev #11720

Merged
merged 1 commit into from
Dec 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions SPECS/libxml2/CVE-2024-40896.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
From ae8f0ac0a2900219c3d762ae0b513e199dcf19a5 Mon Sep 17 00:00:00 2001
From: Nick Wellnhofer <[email protected]>
Date: Sat, 6 Jul 2024 01:03:46 +0200
Subject: [PATCH] [CVE-2024-40896] Fix XXE protection in downstream code

Some users set an entity's children manually in the getEntity SAX
callback to restrict entity expansion. This stopped working after
renaming the "checked" member of xmlEntity, making at least one
downstream project and its dependants susceptible to XXE attacks.

See #761.
---
parser.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/parser.c b/parser.c
index 4feb21a28..8fe0a064d 100644
--- a/parser.c
+++ b/parser.c
@@ -7148,6 +7148,14 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
return;
}

+ /*
+ * Some users try to parse entities on their own and used to set
+ * the renamed "checked" member. Fix the flags to cover this
+ * case.
+ */
+ if (((ent->flags & XML_ENT_PARSED) == 0) && (ent->children != NULL))
+ ent->flags |= XML_ENT_PARSED;
+
/*
* The first reference to the entity trigger a parsing phase
* where the ent->children is filled with the result from
--
GitLab

6 changes: 5 additions & 1 deletion SPECS/libxml2/libxml2.spec
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
Summary: Libxml2
Name: libxml2
Version: 2.11.5
Release: 1%{?dist}
Release: 2%{?dist}
License: MIT
Vendor: Microsoft Corporation
Distribution: Azure Linux
Group: System Environment/General Libraries
URL: https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home
Source0: https://gitlab.gnome.org/GNOME/%{name}/-/archive/v%{version}/%{name}-v%{version}.tar.gz
Patch0: CVE-2024-40896.patch
BuildRequires: python3-devel
BuildRequires: python3-xml
Provides: %{name}-tools = %{version}-%{release}
Expand Down Expand Up @@ -78,6 +79,9 @@ find %{buildroot} -type f -name "*.la" -delete -print
%{_libdir}/cmake/libxml2/libxml2-config.cmake

%changelog
* Thu Dec 26 2024 Muhammad Falak <[email protected]> - 2.11.5-2
- Patch CVE-2024-40896

* Tue Nov 21 2023 CBL-Mariner Servicing Account <[email protected]> - 2.11.5-1
- Auto-upgrade to 2.11.5 - Azure Linux 3.0 - package upgrades

Expand Down
4 changes: 2 additions & 2 deletions toolkit/resources/manifests/package/pkggen_core_aarch64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -199,8 +199,8 @@ curl-8.8.0-3.azl3.aarch64.rpm
curl-devel-8.8.0-3.azl3.aarch64.rpm
curl-libs-8.8.0-3.azl3.aarch64.rpm
createrepo_c-1.0.3-1.azl3.aarch64.rpm
libxml2-2.11.5-1.azl3.aarch64.rpm
libxml2-devel-2.11.5-1.azl3.aarch64.rpm
libxml2-2.11.5-2.azl3.aarch64.rpm
libxml2-devel-2.11.5-2.azl3.aarch64.rpm
docbook-dtd-xml-4.5-11.azl3.noarch.rpm
docbook-style-xsl-1.79.1-14.azl3.noarch.rpm
libsepol-3.6-1.azl3.aarch64.rpm
Expand Down
4 changes: 2 additions & 2 deletions toolkit/resources/manifests/package/pkggen_core_x86_64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -199,8 +199,8 @@ curl-8.8.0-3.azl3.x86_64.rpm
curl-devel-8.8.0-3.azl3.x86_64.rpm
curl-libs-8.8.0-3.azl3.x86_64.rpm
createrepo_c-1.0.3-1.azl3.x86_64.rpm
libxml2-2.11.5-1.azl3.x86_64.rpm
libxml2-devel-2.11.5-1.azl3.x86_64.rpm
libxml2-2.11.5-2.azl3.x86_64.rpm
libxml2-devel-2.11.5-2.azl3.x86_64.rpm
docbook-dtd-xml-4.5-11.azl3.noarch.rpm
docbook-style-xsl-1.79.1-14.azl3.noarch.rpm
libsepol-3.6-1.azl3.x86_64.rpm
Expand Down
8 changes: 4 additions & 4 deletions toolkit/resources/manifests/package/toolchain_aarch64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -240,9 +240,9 @@ libtool-debuginfo-2.4.7-1.azl3.aarch64.rpm
libxcrypt-4.4.36-2.azl3.aarch64.rpm
libxcrypt-debuginfo-4.4.36-2.azl3.aarch64.rpm
libxcrypt-devel-4.4.36-2.azl3.aarch64.rpm
libxml2-2.11.5-1.azl3.aarch64.rpm
libxml2-debuginfo-2.11.5-1.azl3.aarch64.rpm
libxml2-devel-2.11.5-1.azl3.aarch64.rpm
libxml2-2.11.5-2.azl3.aarch64.rpm
libxml2-debuginfo-2.11.5-2.azl3.aarch64.rpm
libxml2-devel-2.11.5-2.azl3.aarch64.rpm
libxslt-1.1.39-1.azl3.aarch64.rpm
libxslt-debuginfo-1.1.39-1.azl3.aarch64.rpm
libxslt-devel-1.1.39-1.azl3.aarch64.rpm
Expand Down Expand Up @@ -541,7 +541,7 @@ python3-gpg-1.23.2-2.azl3.aarch64.rpm
python3-jinja2-3.1.2-1.azl3.noarch.rpm
python3-libcap-ng-0.8.4-1.azl3.aarch64.rpm
python3-libs-3.12.3-5.azl3.aarch64.rpm
python3-libxml2-2.11.5-1.azl3.aarch64.rpm
python3-libxml2-2.11.5-2.azl3.aarch64.rpm
python3-lxml-4.9.3-1.azl3.aarch64.rpm
python3-magic-5.45-1.azl3.noarch.rpm
python3-markupsafe-2.1.3-1.azl3.aarch64.rpm
Expand Down
8 changes: 4 additions & 4 deletions toolkit/resources/manifests/package/toolchain_x86_64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -245,9 +245,9 @@ libtasn1-debuginfo-4.19.0-1.azl3.x86_64.rpm
libtasn1-devel-4.19.0-1.azl3.x86_64.rpm
libtool-2.4.7-1.azl3.x86_64.rpm
libtool-debuginfo-2.4.7-1.azl3.x86_64.rpm
libxml2-2.11.5-1.azl3.x86_64.rpm
libxml2-debuginfo-2.11.5-1.azl3.x86_64.rpm
libxml2-devel-2.11.5-1.azl3.x86_64.rpm
libxml2-2.11.5-2.azl3.x86_64.rpm
libxml2-debuginfo-2.11.5-2.azl3.x86_64.rpm
libxml2-devel-2.11.5-2.azl3.x86_64.rpm
libxcrypt-4.4.36-2.azl3.x86_64.rpm
libxcrypt-debuginfo-4.4.36-2.azl3.x86_64.rpm
libxcrypt-devel-4.4.36-2.azl3.x86_64.rpm
Expand Down Expand Up @@ -549,7 +549,7 @@ python3-gpg-1.23.2-2.azl3.x86_64.rpm
python3-jinja2-3.1.2-1.azl3.noarch.rpm
python3-libcap-ng-0.8.4-1.azl3.x86_64.rpm
python3-libs-3.12.3-5.azl3.x86_64.rpm
python3-libxml2-2.11.5-1.azl3.x86_64.rpm
python3-libxml2-2.11.5-2.azl3.x86_64.rpm
python3-lxml-4.9.3-1.azl3.x86_64.rpm
python3-magic-5.45-1.azl3.noarch.rpm
python3-markupsafe-2.1.3-1.azl3.x86_64.rpm
Expand Down
Loading