diff mbox series

[meta-oe,wrynose] libsoup-2.4: fix CVE-2026-0719

Message ID 20261106195125.102739-1-saisireesha.t@windriver.com
State New
Headers show
Series [meta-oe,wrynose] libsoup-2.4: fix CVE-2026-0719 | expand

Commit Message

SaiSireesha T Nov. 6, 2026, 7:51 p.m. UTC
Stack-based buffer overflow in the NTLM authentication module when
handling excessively long passwords.

Backport from [1].
[1] https://github.com/GNOME/libsoup/commit/1972635264f1d9ab1823c8b6becf921b4125b513

Signed-off-by: SaiSireesha T <saisireesha.t@windriver.com>
---
 .../libsoup/libsoup-2.4/CVE-2026-0719.patch   | 57 +++++++++++++++++++
 .../libsoup/libsoup-2.4_2.74.3.bb             |  1 +
 2 files changed, 58 insertions(+)
 create mode 100644 meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-0719.patch
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-0719.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-0719.patch
new file mode 100644
index 0000000000..48f45c176b
--- /dev/null
+++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-0719.patch
@@ -0,0 +1,57 @@ 
+From 77a41e98300bdfeb5eb66742f6e790aa1e906de9 Mon Sep 17 00:00:00 2001
+From: SaiSireesha T <saisireesha.t@windriver.com>
+Date: Fri, 6 Nov 2026 16:23:05 +0000
+Subject: [PATCH] soup-auth-ntlm: Reject excessively long passwords
+
+CVE: CVE-2026-0719
+
+Upstream-Status: Backport [https://github.com/GNOME/libsoup/commit/1972635264f1d9ab1823c8b6becf921b4125b513]
+
+Signed-off-by: SaiSireesha T <saisireesha.t@windriver.com>
+---
+ libsoup/soup-auth-ntlm.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/libsoup/soup-auth-ntlm.c b/libsoup/soup-auth-ntlm.c
+index 2d078461..214ffcf7 100644
+--- a/libsoup/soup-auth-ntlm.c
++++ b/libsoup/soup-auth-ntlm.c
+@@ -594,7 +594,7 @@ soup_auth_ntlm_class_init (SoupAuthNTLMClass *auth_ntlm_class)
+ }
+ 
+ static void md4sum                (const unsigned char *in, 
+-				   int                  nbytes, 
++				   size_t               nbytes, 
+ 				   unsigned char        digest[16]);
+ 
+ typedef guint32 DES_KS[16][2]; /* Single-key DES key schedule */
+@@ -640,6 +640,11 @@ soup_ntlm_nt_hash (const char *password, guchar hash[21])
+ {
+ 	unsigned char *buf, *p;
+ 
++	if (strlen (password) >= 256) {
++		memset (hash, 0, 21);
++		return;
++	}
++
+ 	p = buf = g_malloc (strlen (password) * 2);
+ 
+ 	while (*password) {
+@@ -1079,11 +1084,12 @@ calc_response (const guchar *key, const guchar *plaintext, guchar *results)
+ #define ROT(val, n) ( ((val) << (n)) | ((val) >> (32 - (n))) )
+ 
+ static void
+-md4sum (const unsigned char *in, int nbytes, unsigned char digest[16])
++md4sum (const unsigned char *in, size_t nbytes, unsigned char digest[16])
+ {
+ 	unsigned char *M;
+ 	guint32 A, B, C, D, AA, BB, CC, DD, X[16];
+-	int pbytes, nbits = nbytes * 8, i, j;
++	size_t pbytes, nbits = nbytes * 8;
++	int i, j;
+ 
+ 	/* There is *always* padding of at least one bit. */
+ 	pbytes = ((119 - (nbytes % 64)) % 64) + 1;
+-- 
+2.54.0
+
diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4_2.74.3.bb b/meta-oe/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
index e588e60cd5..13261d8418 100644
--- a/meta-oe/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
+++ b/meta-oe/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
@@ -50,6 +50,7 @@  SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \
            file://CVE-2026-2369.patch \
            file://CVE-2026-1760.patch \
            file://CVE-2026-1467.patch \
+           file://CVE-2026-0719.patch \
 "
 SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13"