Skip to content
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
36 changes: 36 additions & 0 deletions SPECS/libarchive/CVE-2025-25724.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
From 6636f89f5fe08a20de3b2d034712c781d3a67985 Mon Sep 17 00:00:00 2001
From: Peter Kaestle <peter@piie.net>
Date: Wed, 5 Mar 2025 15:01:14 +0100
Subject: [PATCH] tar/util.c: fix NULL pointer dereference issue on strftime

Fix CVE-2025-25724 by detecting NULL return of localtime_r(&tim, &tmbuf),
which could happen in case tim is incredible big.

In case this error is triggered, put an "INVALID DATE" string into the
outbuf.

Error poc: https://github.com/Ekkosun/pocs/blob/main/bsdtarbug

Upstream Reference : https://github.com/libarchive/libarchive/pull/2532/commits/6636f89f5fe08a20de3b2d034712c781d3a67985

Signed-off-by: Peter Kaestle <peter@piie.net>
---
tar/util.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tar/util.c b/tar/util.c
index 3b099cb5f..f3cbdf0bb 100644
--- a/tar/util.c
+++ b/tar/util.c
@@ -749,7 +749,10 @@ list_item_verbose(struct bsdtar *bsdtar, FILE *out, struct archive_entry *entry)
#else
ltime = localtime(&tim);
#endif
- strftime(tmp, sizeof(tmp), fmt, ltime);
+ if (ltime)
+ strftime(tmp, sizeof(tmp), fmt, ltime);
+ else
+ sprintf(tmp, "-- -- ----");
fprintf(out, " %s ", tmp);
safe_fprintf(out, "%s", archive_entry_pathname(entry));

6 changes: 5 additions & 1 deletion SPECS/libarchive/libarchive.spec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Summary: Multi-format archive and compression library
Name: libarchive
Version: 3.6.1
Release: 4%{?dist}
Release: 5%{?dist}
# Certain files have individual licenses. For more details see contents of "COPYING".
License: BSD AND Public Domain AND (ASL 2.0 OR CC0 1.0 OR OpenSSL)
Vendor: Microsoft Corporation
Expand All @@ -14,6 +14,7 @@ Patch1: CVE-2024-26256.patch
Patch2: CVE-2024-20696.patch
Patch3: CVE-2024-48958.patch
Patch4: CVE-2024-48957.patch
Patch5: CVE-2025-25724.patch
Provides: bsdtar = %{version}-%{release}

BuildRequires: xz-libs
Expand Down Expand Up @@ -66,6 +67,9 @@ make %{?_smp_mflags} check
%{_libdir}/pkgconfig/*.pc

%changelog
* Tue Mar 11 2025 Kanishk Bansal <kanbansal@microsoft.com> - 3.6.1-5
- Patch CVE-2025-25724

* Tue Oct 15 2024 Nan Liu <liunan@microsoft.com> - 3.6.1-4
- Patch CVE-2024-48957, CVE-2024-48958, CVE-2024-20696

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 @@ -173,8 +173,8 @@ openssl-static-1.1.1k-35.cm2.aarch64.rpm
libcap-2.60-4.cm2.aarch64.rpm
libcap-devel-2.60-4.cm2.aarch64.rpm
debugedit-5.0-2.cm2.aarch64.rpm
libarchive-3.6.1-4.cm2.aarch64.rpm
libarchive-devel-3.6.1-4.cm2.aarch64.rpm
libarchive-3.6.1-5.cm2.aarch64.rpm
libarchive-devel-3.6.1-5.cm2.aarch64.rpm
rpm-4.18.0-4.cm2.aarch64.rpm
rpm-build-4.18.0-4.cm2.aarch64.rpm
rpm-build-libs-4.18.0-4.cm2.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 @@ -173,8 +173,8 @@ openssl-static-1.1.1k-35.cm2.x86_64.rpm
libcap-2.60-4.cm2.x86_64.rpm
libcap-devel-2.60-4.cm2.x86_64.rpm
debugedit-5.0-2.cm2.x86_64.rpm
libarchive-3.6.1-4.cm2.x86_64.rpm
libarchive-devel-3.6.1-4.cm2.x86_64.rpm
libarchive-3.6.1-5.cm2.x86_64.rpm
libarchive-devel-3.6.1-5.cm2.x86_64.rpm
rpm-4.18.0-4.cm2.x86_64.rpm
rpm-build-4.18.0-4.cm2.x86_64.rpm
rpm-build-libs-4.18.0-4.cm2.x86_64.rpm
Expand Down
6 changes: 3 additions & 3 deletions toolkit/resources/manifests/package/toolchain_aarch64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -144,9 +144,9 @@ krb5-1.19.4-3.cm2.aarch64.rpm
krb5-debuginfo-1.19.4-3.cm2.aarch64.rpm
krb5-devel-1.19.4-3.cm2.aarch64.rpm
krb5-lang-1.19.4-3.cm2.aarch64.rpm
libarchive-3.6.1-4.cm2.aarch64.rpm
libarchive-debuginfo-3.6.1-4.cm2.aarch64.rpm
libarchive-devel-3.6.1-4.cm2.aarch64.rpm
libarchive-3.6.1-5.cm2.aarch64.rpm
libarchive-debuginfo-3.6.1-5.cm2.aarch64.rpm
libarchive-devel-3.6.1-5.cm2.aarch64.rpm
libassuan-2.5.5-2.cm2.aarch64.rpm
libassuan-debuginfo-2.5.5-2.cm2.aarch64.rpm
libassuan-devel-2.5.5-2.cm2.aarch64.rpm
Expand Down
6 changes: 3 additions & 3 deletions toolkit/resources/manifests/package/toolchain_x86_64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -150,9 +150,9 @@ krb5-1.19.4-3.cm2.x86_64.rpm
krb5-debuginfo-1.19.4-3.cm2.x86_64.rpm
krb5-devel-1.19.4-3.cm2.x86_64.rpm
krb5-lang-1.19.4-3.cm2.x86_64.rpm
libarchive-3.6.1-4.cm2.x86_64.rpm
libarchive-debuginfo-3.6.1-4.cm2.x86_64.rpm
libarchive-devel-3.6.1-4.cm2.x86_64.rpm
libarchive-3.6.1-5.cm2.x86_64.rpm
libarchive-debuginfo-3.6.1-5.cm2.x86_64.rpm
libarchive-devel-3.6.1-5.cm2.x86_64.rpm
libassuan-2.5.5-2.cm2.x86_64.rpm
libassuan-debuginfo-2.5.5-2.cm2.x86_64.rpm
libassuan-devel-2.5.5-2.cm2.x86_64.rpm
Expand Down