From patchwork Wed Sep 9 13:35:34 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Jakub Szczudlo (Nokia)" X-Patchwork-Id: 97730 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 944C2C79FB7 for ; Wed, 9 Sep 2026 13:35:38 +0000 (UTC) Received: from AM0PR02CU008.outbound.protection.outlook.com (AM0PR02CU008.outbound.protection.outlook.com [52.101.72.38]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.12382.1788960935098385025 for ; Wed, 09 Sep 2026 06:35:36 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nokia.com header.s=selector1 header.b=CsGMPssN; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: nokia.com, ip: 52.101.72.38, mailfrom: jakub.szczudlo@nokia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xAE9NL3SIOSeWVPDml3r1snMZ+0WrS3M+5SHMELaDyvMM9jAfFnX+GdXWGd9rqwEK0c7c4MnI7A9bz++ugiyyr/puOUO3walyCrIaiJepT/sp5MX+ZWlqu3+jGFngGes9/ft09I6UqJH9oo2GrIN7tK1eMQQyWzFa4NJV619g5lFCIlnWIp29c13RRZqDnUvcuVoNAs89PB+/kDYz/BTc+3cvhjZw4GRlQpHBKJ46DGoQTes/paJ0JqTduNw2KTo5hH/HdwIhHVBgfEmDE9uBti4LDckYCOvrKfbKfcZrkn79P0h1+skW2B7V7tpZEU7S4WA/iK4Gx4x8QwQg03+GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nThAPvORKzEcFvIN4OF4IvMlggYlsSqBlPuT6JSa+Lk=; b=MsjkkU0R7n4K2q/AuIMDVePY3SwtQgbV6qok/eYS3Jay60TQxtKHnzKWo9EryXPesk5MWKI8Ioq7IRzW+txwKVpB9Z55dH4V7W+mnI5URI4/+wa7bn+eTJ7vGdadw2CEvgA0S74s0fovJQ/3CJ7jljwCxCnB4ZM+etTEKvnfJ5ex/qShJRdqLd053sslN4E7iIZSrgOLTwO/ZU7wIDu/YdsbF6qlbkY6gO2Xa6uCwcHiz2nOBmTcsyyJAzt9V28Hg4zriSXjyHT0XP7zs/V6f6offBh3gsG3mMI5Ur0AcTzOuhDk3HXd8FxdCxhdIVcdTzTLDi5AN6bBJKE9Rc92AQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nThAPvORKzEcFvIN4OF4IvMlggYlsSqBlPuT6JSa+Lk=; b=CsGMPssNcjmZWux9wIBzP0HLpeyUSLwDelCS/hVxGu2hbybX+hACO4619jVyKad3Pv3BFeEy/Cn3sTaI193JZo2XbOOsXP/YULQ0K8NcRFc11fPkgMYmUQ/lqi1g7fwNEbgPET5LWlIRbHfrqOp1fv4HtclCEkI20zMsTNR6ZtzlulLKJ8xLZ+h5VLbIzAbEUqpIW8Gv/f1Dl7LkV8QND6BF1FlFLfWiWyCtTP22EQpsx3dXL1W6OvgKnjvz/N8sNEedg3RD6ayQJIN4ewkAIdnq/ESA3ls158GX/BnDCXLLP+GpUoJ4N/Ld2B3EdNcpYJN9Imv9nkTQgB4sE6yk5A== Received: from GV2PR07MB11919.eurprd07.prod.outlook.com (2603:10a6:150:357::20) by VI0PR07MB12084.eurprd07.prod.outlook.com (2603:10a6:800:33b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.7; Wed, 9 Sep 2026 13:35:34 +0000 Received: from GV2PR07MB11919.eurprd07.prod.outlook.com ([fe80::159a:9a82:1362:e680]) by GV2PR07MB11919.eurprd07.prod.outlook.com ([fe80::159a:9a82:1362:e680%3]) with mapi id 15.21.0360.008; Wed, 9 Sep 2026 13:35:34 +0000 From: "Jakub Szczudlo (Nokia)" To: "openembedded-core@lists.openembedded.org" CC: "yoann.congal@smile.fr" , "Jakub Szczudlo (Nokia)" Subject: [wrynose][PATCH 2/5] gnutls: fix CVE-2026-42013 Thread-Topic: [wrynose][PATCH 2/5] gnutls: fix CVE-2026-42013 Thread-Index: AQHdQGAX63mB9v3EOUq9c4+y3MP9Dg== Date: Wed, 9 Sep 2026 13:35:34 +0000 Message-ID: <20260909133510.3286-2-jakub.szczudlo@nokia.com> References: <20260909133510.3286-1-jakub.szczudlo@nokia.com> In-Reply-To: <20260909133510.3286-1-jakub.szczudlo@nokia.com> Accept-Language: en-US, en-150 Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nokia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: GV2PR07MB11919:EE_|VI0PR07MB12084:EE_ x-ms-office365-filtering-correlation-id: 99ea616a-df76-4bf1-345f-08df0e7739ce x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|38070700021|11063799006|10067099003|56012099006|22082099003|18002099003|12006099003|3023799007|13003099007; x-microsoft-antispam-message-info: gEz8ZM46dFjbVgA+8vfVUv3Q67uRepr7SOz8KBv2G27naeaDpj2oJHpxyXMYCTq1aDO896Fhv0Be4ynsUbqEXgI+BCmR5kIdaIk3fdxtquL+GIYfX3zfAokILxnEl72h/jfHRR2+g5OzEpXzS+YewoY/w7/37O/+t+Il/gOb2rOf5YHBuRQTTOUUMIqIbD/Me45FeuTzKxu/dbQuYUC49fEsVSzBf0gb2CiT5IHyxNXErxhL8mVZomgjy8BXTgoHRtX4TLWj7/Iv4iZ+HtGcGr5yPdz1oaqXUC9LEwnqjk1HbnYWa8xeOwx+rnbDip6rtU+7iot2C0+nyrRaBM1ggb+X/118Bks0WT+QHr4juJjbWqiTKKVBqynl/kq3ezuCw5R0jc5r7s9Vm/kfrhLUPy5C/jcdYLwlxStVRVslMoSxve5c2v9sHOX3m23lsPu9hPJKihivXl8Ji+tahGdWPEgIXeqSLNGp/5JMb+YUOchNgmoBfs2JqAnfkTzF4L3nefj08brSZdERtZgVzEv+EediN9lzS11LExxa04B1BSGk60KpdfSYzJuoSe7djEbtBDaoWZ3baLfwaVaNwCZcO1kuf7WUHRXvYyNaLGCzlYqGHvNcFgF5+VVLz2pY7ljQ3TlGufwAP3noXLemsObax4672i7tuXB0bJFPSdTsropeV64Twlq1cFy0Q3/C4UsKfRpwyIG9LvetF4qGiyUSMIrSRL4lLdtwaPPBQTZyliU= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR07MB11919.eurprd07.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(38070700021)(11063799006)(10067099003)(56012099006)(22082099003)(18002099003)(12006099003)(3023799007)(13003099007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?98KEoQNIIwNoLb8CSPATWETzb1Mf?= =?utf-8?q?ikOylzmsb0/DI3drVpUPj0EHfHbPA03cfe15OpwBil3BQ0xxxGJ+RdGKHDC9BGlBt?= =?utf-8?q?RL99OPiPYG/B8R3FzssbFfphHXLm5qp+ZcLjUjz/AkmU3UzSrJyM7lsdDF2wsl833?= =?utf-8?q?M27W245ITwWH6NkabjvYY7mfMkpl8ILoiV6PKyBHa/9xpRHtwkWzxrMelBT1wlNGn?= =?utf-8?q?awBCyDawks8QQ4yNcWlGXr9wM/4451g0MN9QE15eGaRGEuiBv7KDyrQNGCS+7i3Ug?= =?utf-8?q?mLSpSS+odoiUO332IpCyNMOQ+IIrX/KrrlRyJB3ZGhp5PCl/mwC39ae7j8uC4NT6v?= =?utf-8?q?H2NS0fDMoJ4YZbtsFgk82xfDPF7NkFLdsSF5nc6TflKCPwaRYTv4+gRD9Zsew+x37?= =?utf-8?q?56UrT3r8ZzcFX6UOV/go4Yo11Q/OAvD1fLZ584ESH95Wun2Mpc8zDKPAUtJslMTnT?= =?utf-8?q?MjLet8Wi7qocMJgY8Z1E6wLhMGv33HL6tjITwycboa5fbt/B1PZZM0mMUr9ITSeuw?= =?utf-8?q?eSH9KK+Vtx4awwOWmvU/5HkPs3WKnuB0KFprSBAxrysQb6lmqt3NauG4HPmDFe5DW?= =?utf-8?q?1VNQxm0tDIESAB4cICxFoCRXvR6+PgSKB4SrDFNHTgfed9SZmG+bIF96ULuGdurCf?= =?utf-8?q?u/f6/ymchccyl0B9qj1eXHD1Sd5ldXs8jIxz4SwVLYHDQL/Jw1sLh6cxYzJuR4Ysp?= =?utf-8?q?gtXXyxaobYJPtTepJ/7eEYKmLOz7OPlkc7xX/eJ9mrARC3VQJ29Oel+LfsoC4wpvl?= =?utf-8?q?aaYLUTw8vEIcIVix71xpkQLQRsgfi7zWstb93Cn2VKhz2ePl0AVutdQN2n42G/s/h?= =?utf-8?q?9FHCH85reuIyzh/F0NIMLln2zZ2A5rX8oxvrYOI6EC+VDRSETXMBxqo8gjYaciDpU?= =?utf-8?q?HcBQRANQPIaBXDnr7B74Q5duqUEAB5mAcvrkC2chuupLFJwCyQgeF60auN3hNrW12?= =?utf-8?q?zLHlPj3AO5HcX0p6ENiPWsP9ZFDOVLIC8CHyon7clTuTQfZemXNpImU06OFXbYv+j?= =?utf-8?q?oGDCDwpwnssft2VYTobrZ/W1jZTDs2QStvm6SNtjSd4/T4CaN9hWGz7oTWXXdsJQg?= =?utf-8?q?/FIpoQX4mkFiwJMcLgXgxx0xfa2gUjxfSMiUGy6rTUKsFS33zMaafnbWiDgLE+VIN?= =?utf-8?q?W4z1znSxeh1E6i9xYRkm8Aw9AljvUQioRs1KykdfF1wFTLunCmKFS9hUvToacJzNm?= =?utf-8?q?LKMj/RXkT4t+i2pNUVb4uWhARMT/FR7xdb07fV0qULlL/nMRK+x+nds8y4/wFXLrs?= =?utf-8?q?widA5oQaXDvOTUzfH9G1niNbwYiqJ+X9vRksANiBUpS0ju4qjdNkN1whfQvzf4qbG?= =?utf-8?q?KLFO9qaL3s8kCWNQQwLiQzEEPlPAVhOExb2SVX8YK1yWzxnH180SPQurx1TJV8nOI?= =?utf-8?q?jEAf3KIIxAMWrfad6FhUt1dRd1NBKfzxgznjnG2YyYBhqOsve0CUuppukH5a3Q62k?= =?utf-8?q?eJ7ofEy2x7sOP40TOw1WW4OhEKvYEbMtVFLqrflP2+GSRKE5AHit8o8wUC8Fkj3pK?= =?utf-8?q?wGNV8pT8Jrw9Cu/DE6zkS7Pq7csf+5KwE53hkKMn2098+kUyeQuHJOmVMcrExhf9G?= =?utf-8?q?1poNKYtvJhE9yHhPnGmHDwUQOQ3tbvhn6SjHLx7v4GlvN/ERHFKFktKZ+zRv5GWWL?= =?utf-8?q?cbkexfdZ69zfs2OAXn9hAu7dxyHNsUjw=3D=3D?= Content-ID: <96352C724D201C4384F373CC82C09ABE@eurprd07.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: GV2PR07MB11919.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99ea616a-df76-4bf1-345f-08df0e7739ce X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Sep 2026 13:35:34.3522 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: izOAs4RWyMGKeP/9rgUX40BAZ3/S9DhFIo0etP8+omhRNoeVTIQ1om0sTlEIA0A5iFTojvqqlSBIQaXhmbzWSrFzNZ3k5+fafdYol6Ovs+I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR07MB12084 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 09 Sep 2026 13:35:38 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245464 Backport patch to fix CVE-2026-42013. References: https://nvd.nist.gov/vuln/detail/CVE-2026-42013 Upstream fix: https://gitlab.com/gnutls/gnutls/-/commit/29801bef00ecc0f23c0bac4cd333b269cd2c1af4 Tested with ptest Pre patch taken from upstream so CVE fix will land cleanly Signed-off-by: Jakub Szczudlo --- .../gnutls/gnutls/CVE-2026-42013-pre1.patch | 56 ++++++++++++++ .../gnutls/gnutls/CVE-2026-42013.patch | 74 +++++++++++++++++++ meta/recipes-support/gnutls/gnutls_3.8.12.bb | 2 + 3 files changed, 132 insertions(+) create mode 100644 meta/recipes-support/gnutls/gnutls/CVE-2026-42013-pre1.patch create mode 100644 meta/recipes-support/gnutls/gnutls/CVE-2026-42013.patch diff --git a/meta/recipes-support/gnutls/gnutls/CVE-2026-42013-pre1.patch b/meta/recipes-support/gnutls/gnutls/CVE-2026-42013-pre1.patch new file mode 100644 index 0000000000..53687cb53b --- /dev/null +++ b/meta/recipes-support/gnutls/gnutls/CVE-2026-42013-pre1.patch @@ -0,0 +1,56 @@ +From 3ee2cb707002f755e4bda3f75285caa0cb36c214 Mon Sep 17 00:00:00 2001 +From: Alexander Sosedkin +Date: Wed, 15 Apr 2026 15:35:59 +0200 +Subject: [PATCH] x509/email-verify: call fallback DN fallback + +A comment was inaccurately referring to DN email field fallback +as CN fallback. +Rename a few things as well to match x509/hostname-verify more closely. + +Signed-off-by: Alexander Sosedkin +CVE: CVE-2026-42013 +Upstream-Status: Backport [https://gitlab.com/gnutls/gnutls/-/commit/3ee2cb707002f755e4bda3f75285caa0cb36c214] + +Signed-off-by: Jakub Szczudlo +--- + lib/x509/email-verify.c | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/lib/x509/email-verify.c b/lib/x509/email-verify.c +index dbef0bb86e..3c22ffed37 100644 +--- a/lib/x509/email-verify.c ++++ b/lib/x509/email-verify.c +@@ -42,7 +42,7 @@ unsigned gnutls_x509_crt_check_email(gnutls_x509_crt_t cert, const char *email, + { + char rfc822name[MAX_CN]; + size_t rfc822namesize; +- int found_rfc822name = 0; ++ bool dn_fallback_allowed = true; + int ret = 0; + int i = 0; + char *a_email; +@@ -76,7 +76,7 @@ unsigned gnutls_x509_crt_check_email(gnutls_x509_crt_t cert, const char *email, + cert, i, rfc822name, &rfc822namesize, NULL); + + if (ret == GNUTLS_SAN_RFC822NAME) { +- found_rfc822name = 1; ++ dn_fallback_allowed = false; + + if (memchr(rfc822name, '\0', rfc822namesize)) { + _gnutls_debug_log( +@@ -102,12 +102,10 @@ unsigned gnutls_x509_crt_check_email(gnutls_x509_crt_t cert, const char *email, + } + } + +- if (!found_rfc822name) { +- /* did not get the necessary extension, use CN instead +- */ ++ if (dn_fallback_allowed) { ++ /* did not get the necessary extension, use DN email instead */ + +- /* enforce the RFC6125 (ยง1.8) requirement that only +- * a single CN must be present */ ++ /* only a single one must be present */ + rfc822namesize = sizeof(rfc822name); + ret = gnutls_x509_crt_get_dn_by_oid(cert, + GNUTLS_OID_PKCS9_EMAIL, 1, diff --git a/meta/recipes-support/gnutls/gnutls/CVE-2026-42013.patch b/meta/recipes-support/gnutls/gnutls/CVE-2026-42013.patch new file mode 100644 index 0000000000..c63e4d7039 --- /dev/null +++ b/meta/recipes-support/gnutls/gnutls/CVE-2026-42013.patch @@ -0,0 +1,74 @@ +From 29801bef00ecc0f23c0bac4cd333b269cd2c1af4 Mon Sep 17 00:00:00 2001 +From: Alexander Sosedkin +Date: Wed, 15 Apr 2026 16:02:19 +0200 +Subject: [PATCH] x509: prevent fallback on oversized SAN + +Passing oversized SAN did not preclude CN (or DN email) fallback +during verification, which is an RFC 6125 6.4.4 violation. + +Now oversized SAN are skipped over, +but prevent the fallback from happening. + +Reported-by: Haruto Kimura (Stella) +Reported-by: Joshua Rogers of AISLE Research Team +Fixes: #1825 +Fixes: #1849 +Fixes: CVE-2026-42013 +Fixes: GNUTLS-SA-2026-04-27-8 +CVSS: 6.5 Moderate CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N +Signed-off-by: Alexander Sosedkin +CVE: CVE-2026-42013 +Upstream-Status: Backport [https://gitlab.com/gnutls/gnutls/-/commit/29801bef00ecc0f23c0bac4cd333b269cd2c1af4] + +Signed-off-by: Jakub Szczudlo +--- + lib/x509/email-verify.c | 14 ++++++++++++++ + lib/x509/hostname-verify.c | 14 ++++++++++++++ + 2 files changed, 28 insertions(+) + +--- a/lib/x509/email-verify.c ++++ b/lib/x509/email-verify.c +@@ -75,6 +75,20 @@ unsigned gnutls_x509_crt_check_email(gnu + ret = gnutls_x509_crt_get_subject_alt_name( + cert, i, rfc822name, &rfc822namesize, NULL); + ++ if (ret < 0) { ++ if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) { ++ /* oversized SAN; proceed without DN fallback */ ++ _gnutls_debug_log("oversized SAN ignored, " ++ "disabling DN fallback\n"); ++ dn_fallback_allowed = false; ++ ret = 0; ++ continue; ++ } ++ if (ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) ++ gnutls_assert(); ++ break; ++ } ++ + if (ret == GNUTLS_SAN_RFC822NAME) { + dn_fallback_allowed = false; + +--- a/lib/x509/hostname-verify.c ++++ b/lib/x509/hostname-verify.c +@@ -213,6 +213,20 @@ hostname_fallback: + ret = gnutls_x509_crt_get_subject_alt_name(cert, i, dnsname, + &dnsnamesize, NULL); + ++ if (ret < 0) { ++ if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) { ++ /* oversized SAN; proceed without CN fallback */ ++ _gnutls_debug_log("oversized SAN ignored, " ++ "disabling CN fallback\n"); ++ cn_fallback_allowed = false; ++ ret = 0; ++ continue; ++ } ++ if (ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) ++ gnutls_assert(); ++ break; ++ } ++ + if (PRECLUDES_CN_FALLBACK(ret)) + cn_fallback_allowed = false; + diff --git a/meta/recipes-support/gnutls/gnutls_3.8.12.bb b/meta/recipes-support/gnutls/gnutls_3.8.12.bb index 8716c929e7..2f671c4886 100644 --- a/meta/recipes-support/gnutls/gnutls_3.8.12.bb +++ b/meta/recipes-support/gnutls/gnutls_3.8.12.bb @@ -40,6 +40,8 @@ SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar file://CVE-2026-42012-pre1.patch \ file://CVE-2026-42012-pre2.patch \ file://CVE-2026-42012.patch \ + file://CVE-2026-42013-pre1.patch \ + file://CVE-2026-42013.patch \ " SRC_URI[sha256sum] = "a7b341421bfd459acf7a374ca4af3b9e06608dcd7bd792b2bf470bea012b8e51"