From f3fec7955084f1e264d4d52476eaa3fc75e6e6dc Mon Sep 17 00:00:00 2001 From: Thomas Perale Date: Fri, 19 Sep 2025 08:53:02 +0200 Subject: [PATCH] package/poco: add patch for CVE-2025-6375 This fixes the following vulnerability: - CVE-2025-6375: A vulnerability was found in poco up to 1.14.1. It has been rated as problematic. Affected by this issue is the function MultipartInputStream of the file Net/src/MultipartReader.cpp. The manipulation leads to null pointer dereference. The attack needs to be approached locally. The exploit has been disclosed to the public and may be used. Upgrading to version 1.14.2 is able to address this issue. The patch is identified as 6f2f85913c191ab9ddfb8fae781f5d66afccf3bf. It is recommended to upgrade the affected component. For more information see: - https://nvd.nist.gov//vuln/detail/CVE-2025-6375 - https://github.com/pocoproject/poco/commit/6f2f85913c191ab9ddfb8fae781f5d66afccf3bf Signed-off-by: Thomas Perale Signed-off-by: Julien Olivain (cherry picked from commit 36357247d5826386b57de8c8cf5d16ca3d471789) Signed-off-by: Thomas Perale --- ...-SEGV-at-Net-src-MultipartReader-cpp.patch | 34 +++++++++++++++++++ package/poco/poco.mk | 3 ++ 2 files changed, 37 insertions(+) create mode 100644 package/poco/0001-fix-Net-A-SEGV-at-Net-src-MultipartReader-cpp.patch diff --git a/package/poco/0001-fix-Net-A-SEGV-at-Net-src-MultipartReader-cpp.patch b/package/poco/0001-fix-Net-A-SEGV-at-Net-src-MultipartReader-cpp.patch new file mode 100644 index 0000000000..cfb22d690a --- /dev/null +++ b/package/poco/0001-fix-Net-A-SEGV-at-Net-src-MultipartReader-cpp.patch @@ -0,0 +1,34 @@ +From 6f2f85913c191ab9ddfb8fae781f5d66afccf3bf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?G=C3=BCnter=20Obiltschnig?= +Date: Wed, 16 Apr 2025 09:15:33 +0200 +Subject: [PATCH] fix(Net): A SEGV at Net/src/MultipartReader.cpp:164:1 #4915 + (move assertion out of ctor) + +Upstream: https://github.com/pocoproject/poco/commit/6f2f85913c191ab9ddfb8fae781f5d66afccf3bf +CVE: CVE-2025-6375 +Signed-off-by: Thomas Perale +--- + Net/src/MultipartReader.cpp | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/Net/src/MultipartReader.cpp b/Net/src/MultipartReader.cpp +index f3a2f2bba2..f4aa27dd86 100644 +--- a/Net/src/MultipartReader.cpp ++++ b/Net/src/MultipartReader.cpp +@@ -36,7 +36,6 @@ MultipartStreamBuf::MultipartStreamBuf(std::istream& istr, const std::string& bo + _boundary(boundary), + _lastPart(false) + { +- poco_assert (!boundary.empty() && boundary.length() < STREAM_BUFFER_SIZE - 6); + } + + +@@ -47,7 +46,7 @@ MultipartStreamBuf::~MultipartStreamBuf() + + int MultipartStreamBuf::readFromDevice(char* buffer, std::streamsize length) + { +- poco_assert_dbg (length >= _boundary.length() + 6); ++ poco_assert (!_boundary.empty() && _boundary.length() < length - 6); + + static const int eof = std::char_traits::eof(); + std::streambuf& buf = *_istr.rdbuf(); diff --git a/package/poco/poco.mk b/package/poco/poco.mk index ee740b2377..f7d9cdc009 100644 --- a/package/poco/poco.mk +++ b/package/poco/poco.mk @@ -11,6 +11,9 @@ POCO_LICENSE_FILES = LICENSE POCO_CPE_ID_VENDOR = pocoproject POCO_INSTALL_STAGING = YES +# 0001-fix-Net-A-SEGV-at-Net-src-MultipartReader-cpp.patch +POCO_IGNORE_CVES += CVE-2025-6375 + POCO_DEPENDENCIES = \ pcre2 \ zlib \