Bug#1112669: bookworm-pu: package libcommons-lang-java/2.6-10+deb12u1

Daniel Leidert dleidert at debian.org
Sun Aug 31 19:05:25 BST 2025


Package: release.debian.org
Severity: normal
Tags: bookworm
X-Debbugs-Cc: libcommons-lang-java at packages.debian.org
Control: affects -1 + src:libcommons-lang-java
User: release.debian.org at packages.debian.org
Usertags: pu

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

[ Reason ]

This upload attempts to fix CVE-2025-48924, an uncontrolled recursion
vulnerability that can lead to a StackOverflowError, for users of Debian
Bookworm.

[ Impact ]

If the update is not approved, users might be affected by CVE-2025-48924.

[ Tests ]

The patch adds a new test to check if the fix is successful. I also did some
successful manual testing.

[ Risks ]

There is the risk of regression. But the patch is rather small and tested.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]

The patch uses (a backported) rewrite that avoids the recursion.

[ Other info ]

The issue has been fixed in LTS/ELTS as well.

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEvu1N7VVEpMA+KD3HS80FZ8KW0F0FAmi0juUACgkQS80FZ8KW
0F06NA//dQqPpjOfhcRiIXI0RnDFcEGc01LA8mVAVpMZympIgZsdBS/tBN8nqWIl
tdwWEw4pb9s5qW3PeMXKx68bLPujcE9PbBzm3GVh3/jPhJ5j1rfaNXAo2LP/kCtW
Ty9EjifG1scchs8XhrzbQu5qSGNqC2ntnOZ4EepdKv92Z6j5k/7jCONM3q6vywot
zM9kh66GV/vDlE6U7KyM79ls7QX6me1fRfKYfG0IAkCi0Q8calBsOYEK6iqV10lf
awLR9Jgs9w3D12cyRZiiv5qYlaHyLOGNqJxuHiGRvP0Wm/LjPaZKTN4IvHWjLqY2
E1t1H7BkRoTYyY1rLFcWoxdayw13WgASo8zSO3ltYq2BAURaUvPqSrKL0voeIavS
SjQumLRPwcEfU3+dDzZTI8U9LZ4+g/ewarMvWvPO2D4rlKLBJwaaqej1xOjYzQV/
a6yeGjBbdRAHxH9b7QySXg+BI3YAYW9e5X2jUblGvNNTQT4N3ot/ccoVZWZXwKuz
V5FDpbTGtz7cjYC5oxsgA1/JIIHt21ZYNE/MVnhV3R1Hf2EVWXYtyu+pVPI65wFr
1nkVTxM9kBJYp3ovAX7aLNie5a30AbkxDIDv46sPPi5Azn0yxMQK9vvahnRX3wlQ
DYHzgDWJGT0fb2M+EuJGF6kuHyjV/Z5zZnbJsu3FE2I3uGrn59Y=
=b4vE
-----END PGP SIGNATURE-----
-------------- next part --------------
diff -Nru libcommons-lang-java-2.6/debian/changelog libcommons-lang-java-2.6/debian/changelog
--- libcommons-lang-java-2.6/debian/changelog	2022-05-23 11:24:24.000000000 +0200
+++ libcommons-lang-java-2.6/debian/changelog	2025-08-31 19:06:43.000000000 +0200
@@ -1,3 +1,11 @@
+libcommons-lang-java (2.6-10+deb12u1) bookworm; urgency=medium
+
+  * Team upload.
+  * d/patches/CVE-2025-48924.patch: Add patch to fix CVE-2025-48924.
+    - Fix an uncontrolled recursion vulnerability (closes: 1109126).
+
+ -- Daniel Leidert <dleidert at debian.org>  Sun, 31 Aug 2025 19:06:43 +0200
+
 libcommons-lang-java (2.6-10) unstable; urgency=medium
 
   * Fixed the build failure with Java 17 (Closes: #1011120)
diff -Nru libcommons-lang-java-2.6/debian/gbp.conf libcommons-lang-java-2.6/debian/gbp.conf
--- libcommons-lang-java-2.6/debian/gbp.conf	1970-01-01 01:00:00.000000000 +0100
+++ libcommons-lang-java-2.6/debian/gbp.conf	2025-08-31 19:06:43.000000000 +0200
@@ -0,0 +1,3 @@
+[DEFAULT]
+debian-branch = debian/bookworm
+pristine-tar = True
diff -Nru libcommons-lang-java-2.6/debian/patches/CVE-2025-48924.patch libcommons-lang-java-2.6/debian/patches/CVE-2025-48924.patch
--- libcommons-lang-java-2.6/debian/patches/CVE-2025-48924.patch	1970-01-01 01:00:00.000000000 +0100
+++ libcommons-lang-java-2.6/debian/patches/CVE-2025-48924.patch	2025-08-31 19:06:43.000000000 +0200
@@ -0,0 +1,162 @@
+From: Gary Gregory <garydgregory at gmail.com>
+Date: Sat, 21 Sep 2024 17:23:08 -0400
+Subject: [PATCH] Rewrite ClassUtils.getClass() without recursion to avoid
+ StackOverflowError on very long inputs.
+
+- This was found fuzz testing Apache Commons Text which relies on
+ClassUtils.
+- OssFuzz Issue 42522972:
+apache-commons-text:StringSubstitutorInterpolatorFuzzer: Security
+exception in org.apache.commons.lang3.ClassUtils.getClass
+
+Reviewed-By: Daniel Leidert <dleidert at debian.org>
+Origin: https://github.com/apache/commons-lang/commit/b424803abdb2bec818e4fbcb251ce031c22aca53
+Bug: https://github.com/advisories/GHSA-j288-q9x7-2f5v
+Bug-Debian: https://bugs.debian.org/1109126
+Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2025-48924
+Bug-Freexian-Security: https://deb.freexian.com/extended-lts/tracker/CVE-2025-48924
+---
+ .../java/org/apache/commons/lang/ClassUtils.java   |  46 ++++++++++-----------
+ .../apache/commons/lang/ClassUtilsOssFuzzTest.java | Bin 0 -> 17588 bytes
+ 2 files changed, 22 insertions(+), 24 deletions(-)
+ create mode 100644 src/test/java/org/apache/commons/lang/ClassUtilsOssFuzzTest.java
+
+diff --git a/src/main/java/org/apache/commons/lang/ClassUtils.java b/src/main/java/org/apache/commons/lang/ClassUtils.java
+index 82665e2..3d463d9 100644
+--- a/src/main/java/org/apache/commons/lang/ClassUtils.java
++++ b/src/main/java/org/apache/commons/lang/ClassUtils.java
+@@ -748,30 +748,27 @@ public class ClassUtils {
+      */
+     public static Class getClass(
+             ClassLoader classLoader, String className, boolean initialize) throws ClassNotFoundException {
+-        try {
+-            Class clazz;
+-            if (abbreviationMap.containsKey(className)) {
+-                String clsName = "[" + abbreviationMap.get(className);
+-                clazz = Class.forName(clsName, initialize, classLoader).getComponentType();
+-            } else {
+-                clazz = Class.forName(toCanonicalName(className), initialize, classLoader);
+-            }
+-            return clazz;
+-        } catch (ClassNotFoundException ex) {
+-            // allow path separators (.) as inner class name separators
+-            int lastDotIndex = className.lastIndexOf(PACKAGE_SEPARATOR_CHAR);
+-
+-            if (lastDotIndex != -1) {
+-                try {
+-                    return getClass(classLoader, className.substring(0, lastDotIndex) +
+-                            INNER_CLASS_SEPARATOR_CHAR + className.substring(lastDotIndex + 1),
+-                            initialize);
+-                } catch (ClassNotFoundException ex2) {
++        // This method was re-written to avoid recursion and stack overflows found by fuzz testing.
++        String next = className;
++        int lastDotIndex = -1;
++        do {
++            try {
++                Class clazz;
++                if (abbreviationMap.containsKey(className)) {
++                    String clsName = "[" + abbreviationMap.get(className);
++                    clazz = Class.forName(clsName, initialize, classLoader).getComponentType();
++                } else {
++                    clazz = Class.forName(toCanonicalName(className), initialize, classLoader);
++                }
++                return clazz;
++            } catch (final ClassNotFoundException ex) {
++                lastDotIndex = next.lastIndexOf(PACKAGE_SEPARATOR_CHAR);
++                if (lastDotIndex != -1) {
++                    next = next.substring(0, lastDotIndex) + INNER_CLASS_SEPARATOR_CHAR + next.substring(lastDotIndex + 1);
+                 }
+             }
+-
+-            throw ex;
+-        }
++        } while (lastDotIndex != -1);
++        throw new ClassNotFoundException(next);
+     }
+ 
+     /**
+@@ -886,11 +883,12 @@ public class ClassUtils {
+      */
+     private static String toCanonicalName(String className) {
+         className = StringUtils.deleteWhitespace(className);
++        final String arrayMarker = "[]";
+         if (className == null) {
+             throw new NullArgumentException("className");
+-        } else if (className.endsWith("[]")) {
++        } else if (className.endsWith(arrayMarker)) {
+             StrBuilder classNameBuffer = new StrBuilder();
+-            while (className.endsWith("[]")) {
++            while (className.endsWith(arrayMarker)) {
+                 className = className.substring(0, className.length() - 2);
+                 classNameBuffer.append("[");
+             }
+diff --git a/src/test/java/org/apache/commons/lang/ClassUtilsOssFuzzTest.java b/src/test/java/org/apache/commons/lang/ClassUtilsOssFuzzTest.java
+new file mode 100644
+index 0000000..5ab7334
+--- /dev/null
++++ b/src/test/java/org/apache/commons/lang/ClassUtilsOssFuzzTest.java
+@@ -0,0 +1,64 @@
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one or more
++ * contributor license agreements.  See the NOTICE file distributed with
++ * this work for additional information regarding copyright ownership.
++ * The ASF licenses this file to You under the Apache License, Version 2.0
++ * (the "License"); you may not use this file except in compliance with
++ * the License.  You may obtain a copy of the License at
++ *
++ *      http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package org.apache.commons.lang;
++
++import junit.framework.TestCase;
++
++/**
++ * Tests {@link ClassUtils}.
++ */
++public class ClassUtilsOssFuzzTest extends TestCase {
++
++    public ClassUtilsOssFuzzTest(String name) {
++        super(name);
++    }
++
++    /**
++     * Tests that no StackOverflowError is thrown.
++     * <p>
++     * OSS-Fuzz Issue 42522972: apache-commons-text:StringSubstitutorInterpolatorFuzzer: Security exception in org.apache.commons.lang.ClassUtils.getClass
++     * </p>
++     */
++    public void testGetClassLongIllegalName() throws Exception {
++        // Input from Commons Text clusterfuzz-testcase-StringSubstitutorInterpolatorFuzzer-5447769450741760
++        assertGetClassThrowsClassNotFound(
++                "?da?~e]W]                   ~          t $t ${.u base64encoder{con+s {.u base64encoder{con+s          ~          t   ....................                                                                                      ................??????????&${localhot:??????4?.........  .........................s${.!. ${..? \\E],${con?       EEE]W?E?E.! ${.u base64encoder{con?       EEE]W?E?E.! ${.u base64encoder{con+s          ~          t   ....................................??????????&${localhot:??????-636?...............................................................     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - -......     t]V]W?E?E.! $${.u - - }" );
++    }
++
++    /**
++     * Tests that no StackOverflowError is thrown.
++     */
++
++    public void testGetClassLongName() throws Exception {
++        assertGetClassThrowsClassNotFound( StringUtils.repeat("a.", 5_000) + "b" );
++    }
++
++    private void assertGetClassThrowsClassNotFound( String className ) throws Exception {
++        assertGetClassThrowsException( className, ClassNotFoundException.class );
++    }
++
++    private void assertGetClassThrowsException( String className, Class exceptionType ) throws Exception {
++        try {
++            ClassUtils.getClass( className );
++            fail( "ClassUtils.getClass() should fail with an exception of type " + exceptionType.getName() + " when given class name \"" + className + "\"." );
++        }
++        catch( Exception e ) {
++            assertTrue( exceptionType.isAssignableFrom( e.getClass() ) );
++        }
++    }
++}
diff -Nru libcommons-lang-java-2.6/debian/patches/series libcommons-lang-java-2.6/debian/patches/series
--- libcommons-lang-java-2.6/debian/patches/series	2022-05-23 11:23:11.000000000 +0200
+++ libcommons-lang-java-2.6/debian/patches/series	2025-08-31 19:06:43.000000000 +0200
@@ -1,2 +1,3 @@
 01-source-encoding.patch
 02-java17-compatibility.patch
+CVE-2025-48924.patch


More information about the pkg-java-maintainers mailing list