From patchwork Wed Nov 4 10:41:54 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Jakub Szczudlo (Nokia)" X-Patchwork-Id: 102885 X-Patchwork-Delegate: yoann.congal@smile.fr Received: from DB3PR0202CU003.outbound.protection.outlook.com (DB3PR0202CU003.outbound.protection.outlook.com [52.101.84.8]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.6418.1793788919343893693 for ; Wed, 04 Nov 2026 02:42:00 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@nokia.com header.s=selector1 header.b=TmfWsBt0; 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.84.8, mailfrom: jakub.szczudlo@nokia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EGb5xJqogwUOpPDs4tAzi4vVEDmNfCn73ZP9kSn7Xk2vKEMnKosNGYdrSegj29RYjxAQTAnyNyoqAnUsYj3hTVDBUwX2WuXTYjVJiVMGEQj+eI6P9sGM9EH0wVMwIxoDDN5XLOuX4bbrebQ6XSBGo2X/VJn0NFHnS/9/dx3Ryaq7FvpnPY2/jgSn5ChuWSbv1+1T+LaaqdyoJtrCz/19Ik32MXs0sxY6F38HdVWvR9tg5+GzvETn0/1JPunQAKgnrxvcq4m8NOd3qd3KR7HRDp2A8EmqzWZvJXXbg/YruCQEF1Wy0Iw4DQBUoXCKlpXnOI5UO6pi0jw/K7cumyQ5rQ== 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=tGiq9oS1bOuCZovsDgxW1tcf/ML+LW4yGrzKivsXu7E=; b=xyJglQ8uFFZhfVluTy6dmb/lDivDmJSjpE/zZGRqKGGQK1tGE7Cg2xmx0jyt0r8CrDE83Vkqgak2llAms1G2AJxt33CQVu4AQ7H6cHAc0ID1CI8KdnnhGIO2zZmycz2bzNuiNtd7gOckrm5Z0r+70Bbb+SE2nUwiBKA+50ZoN1ZxA+w4n9a75pRrvLaJBmxTLkrBFY0zbCOkSMR3FnbuZQLUvePzcWT71LEUvlnva2GkL8CNPu6phB5zUubknGh+sSqhkcX3pT2+Q0+4pb/8kUBPuHt1fbAxu7DCayLIUwsTzhd8MqCRBYUIl7lWFWjKP8izJOy2utQ7xIlTUaupEA== 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=tGiq9oS1bOuCZovsDgxW1tcf/ML+LW4yGrzKivsXu7E=; b=TmfWsBt0ZbCDJtXvVcMvXxVuIAqjDxSpmuPjdEU29y3FCZmQy3H4so5e+KU+DVFpw1RJY+vL1mb2etgLM7+O1M+vzAVOtmkSkyD5LbqksGVJ1eNgOd5DMKTpDrlpVF8ruM6O7rQwe8u6dDBR+is9VK1v5GLfTJ1KYCyLd+koH5axqy6Dso0PATtt3OFmdiU9Pd8vkjMbtNTmdT53rurkyp+HhaPnE6A8ooGpLr5G4eROpb2US8MaZmK+pBAsF0VmlVCXVxDHELyCv9hraAKz6NrynJYeHhSBVn9ZMhLkZCrXXUdZUfsk1HDBHYXguoapKD90Tzc+72/n9lne+Q+Neg== Received: from GV2PR07MB11919.eurprd07.prod.outlook.com (2603:10a6:150:357::20) by AM9PR07MB7281.eurprd07.prod.outlook.com (2603:10a6:20b:2c4::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.592.9; Wed, 4 Nov 2026 10:41:55 +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.0592.009; Wed, 4 Nov 2026 10:41:55 +0000 From: "Jakub Szczudlo (Nokia)" To: "openembedded-core@lists.openembedded.org" CC: "yoann.congal@smile.fr" , "Jakub Szczudlo (Nokia)" Subject: [scarthgap][PATCH] Backport patch to fix CVE-2026-12087. Thread-Topic: [scarthgap][PATCH] Backport patch to fix CVE-2026-12087. Thread-Index: AQHdbEkcJJA0+uC3MU6yxL5URuQ3cw== Date: Wed, 4 Nov 2026 10:41:54 +0000 Message-ID: <20261104104150.2043957-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_|AM9PR07MB7281:EE_ x-ms-office365-filtering-correlation-id: c99ad1d1-466a-4527-a7a4-08df3a603e86 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|23010399003|376014|38070700021|260925022911599003|260925021911599003|260925021311599003|11063799006|56012099006|261021121427099003|261009223027099003|261021123027099003|261102123227099003|261026140227099003|261026121527099003|261028144727099003|261022105027099003|10067099003|12006099003|18002099003|6133799003|13003099007; x-microsoft-antispam-message-info: slhYNZ1v6GCCPU9z5lPpj5eq/lQfiZlSLL0SXIJtvpyrIjK4pM02ys+Q4UoiO55huJslAEUJGXDStTxxhOHqgFnbJx07DZhHiJnCXTBESOaACIvDrM0xPNM/zjOT6zNICmj1d1WMyS4pGqyFnyc4kpokhI42ByWdN63AfZI66d2P7ahZYlwGQmqB96UweDRzc8HAgDRRJPEPtVGU+cR0abaRgK07PfD/dD8pLh8HqFGhJ9PINV1drfWf8J/UriQhNc+PdtPyGNyuSUdfbVESBomH4CBWhY7QQyPqJL+TMBlenzp1sKDRJlQCXLK4/8W9RXuW6efhQZGrwpF8DkqLqG85kMFzgJ0TqGnuIG8SRcW/EaaIXOF5xqFgIaY5E5ErLfMZ7/KRacfHjDJQOIXqXs0pFHzwb/Q/SlI43vYDnn87a7oEtC8T+tjrwI7TaGRI16mERY4zPPF6hoaDK8irKfjP2MzvTxhtIWfOCst3xJj+dTScQUSJsma+0chBwgkLt1hDvVv6WN8v/lkzfsJcWk7R+x8hZQT6rfAxA+oOXTwqQYnxw/U1ZNqB8VPxuXMwDjMAiwKhz+dYZMbl7/0Kd+My/pBMhYcYVkuS+FloZdyAaJNmN0rpPYNK0UXxF/nKNstDwAppBraMf0eTfDmkQMX4nFW7FJCtaGTRAVWwWw4= 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)(1800799024)(366016)(23010399003)(376014)(38070700021)(260925022911599003)(260925021911599003)(260925021311599003)(11063799006)(56012099006)(261021121427099003)(261009223027099003)(261021123027099003)(261102123227099003)(261026140227099003)(261026121527099003)(261028144727099003)(261022105027099003)(10067099003)(12006099003)(18002099003)(6133799003)(13003099007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?3O9CDwppuCNK3Eh0i7a/gDM6bGZJ?= =?utf-8?q?PCxIAxAraCncO1bjmCdkeosCjUdLYZZtBhuLeAK5Te2c9RBCM2i12945Nhob7P7VN?= =?utf-8?q?UnrSC4fbJsaKrRpF/f4Ky6Fe1ioZbU+eoBQf95tNpZ/doqhE1iiz0+al8w0W1heBQ?= =?utf-8?q?v9zKyA/F2HQWb4EMnv9WlPVHER7qWpTLEyTeQHoADgdwg4RHI/TGc3zpqgJO9dAu6?= =?utf-8?q?dDbQ5gEmPd+qIl1X0BfiTeMm+r5gTpmm09VL8kO8K5bbm1QzSmf0Yt7brKSkliD5B?= =?utf-8?q?0BvwXtEsGQLe486HZyEamryn0RcQ7FQQN6VffsMBmkYlb5xYR4VFy7w/3E3FnzLqx?= =?utf-8?q?2k4X/HpXO3VI9vHCqfHlZrSKxYk4d+p4pK50coV38PRvJv1DDF8cEbPgaR4h1Y8xg?= =?utf-8?q?YLvJCGKn8vPdyfIsz2LAN+/hHxS6veVm2z9frtNoBRdCylwQaaYWfinKt269VKzWZ?= =?utf-8?q?wmhCZK8+Si6bRzPo17UoHY4X42tdvn9m0kdybTyu/SHeMUmXoSajugBnOfopAt9rR?= =?utf-8?q?bFKDEndgjDiiRun11AMJkNVsay9NMcntJMT/4Ka8VdhqJSXvu590x51sRGZZ4EQjp?= =?utf-8?q?Frm9xoLoLzNjOtGMJa/vuLw6fF+Zv8jKm2waZX2tGgdr/klgE7vhdMrEltmMq4cEQ?= =?utf-8?q?JbmNoY80LacsrYV1sl3IHDtl2DrrLj2RwGeF1VgtEmpyRX7AluZTptCb2ONAA5BKp?= =?utf-8?q?OgoMkf0zej9hhAym81yD1PmcZ/YThJX81urlP7Ct8G4Uk0sBUwBvM5ImcnSf+3eCk?= =?utf-8?q?OEaa/0Q2DYPwYCD6Gzomds5U1T7C5WfrHi79Jv96GrK0YvFTkcUbP/C/NMIQMp8ky?= =?utf-8?q?KTdYg7F+JE4fcnng02MCxHcYwqZP0oacc3QsLeAo6qWt+8xRXzWurc9KW57cEVmN7?= =?utf-8?q?vsP6gHPHbJKFMldTIW4ME5xORYMiFKoVrk7xJVyeuRDPKHB/ELSdG7cRK6GBn6+Ri?= =?utf-8?q?xod+Wmgsp1WXGxf0wWw+t+GFLPvJF8/fZ1R4H5LT/o+8DFKQYpssqjxyIsSvRYBJz?= =?utf-8?q?AggoqTUOL5heJQAcsT3d2GpP9T3jVqZSbv7/L2kp2QUrHk1dDdBvPBGXTYt8Fhg8T?= =?utf-8?q?GfaZuh6L4HLm6QhY8/s5cZ6igqfmVZ7U/o7blUopueclr2fQAoRQWygt5UMZfrUQE?= =?utf-8?q?zlg0NwBitKr1/OsSPTBUekBKnQMx2370mOOdB5wy/5PGUxfrRKEyiAXyzCZCtr+b8?= =?utf-8?q?A4WIRUz/txiFVo8VJ7kkAFrjeycNjPq7iQVt0Tg9QQ5QgHCHcK2KOiPTjy6zkqpq4?= =?utf-8?q?hUw05gui3n/VsxH+EElGUTX6ZcCenhwzNtLXim5Nt9eYpe6XutMWi6D5TXQZHOFAu?= =?utf-8?q?gnzbxKLDxY3Zs+7a5Ki7d43DNNLXUZ0i4/GeXc/h455KI1SclUUDZ2i0buzyuw2P6?= =?utf-8?q?80TW273ND8qvMt06pcIzGhQELMXHNAUsrTctylw5phRtxaTSbQMbU6TTsjScI1jrA?= =?utf-8?q?rDqehIDHdOQv1wyU7e9JiAoJWhj4Iq4ombtPaFIl3G7hvcGbjnuMaczyDu7Qad+xp?= =?utf-8?q?Q+OdXtH8ezjEfgo5MAcZib6RF5zjuvOeokB/gM8spXR5nRlPzO1+jrQQGR6lJDlIP?= =?utf-8?q?rpx6FBcPFxbzSIIlvSXa53tMxnkCMTVRLNloS6iGnPIIzPdfiNUBYXXoQ5BzYuCad?= =?utf-8?q?hItMuIH/EbtVptrp40VUOIZOE40RKGNQ=3D=3D?= 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: c99ad1d1-466a-4527-a7a4-08df3a603e86 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2026 10:41:54.9891 (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: n0IhowQhH4KRF6qrHBWeoLwU12qdC1zFNoamyIqbAWtdZE4vqw38uX69vnAVc8ZblAbU0qffRc/VbBHpXC/KQkUtvKHuzXEGASi7xrVcWRY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR07MB7281 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Wed, 04 Nov 2026 10:42:07 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/249353 References: https://nvd.nist.gov/vuln/detail/CVE-2026-12087 Upstream fix: https://github.com/Perl/perl5/commit/de19a0b0ad1900fef976c5c1400bd8f11ec6c6cb Tested with ptest Signed-off-by: Jakub Szczudlo --- .../perl/files/CVE-2026-12087.patch | 165 ++++++++++++++++++ meta/recipes-devtools/perl/perl_5.38.4.bb | 1 + 2 files changed, 166 insertions(+) create mode 100644 meta/recipes-devtools/perl/files/CVE-2026-12087.patch diff --git a/meta/recipes-devtools/perl/files/CVE-2026-12087.patch b/meta/recipes-devtools/perl/files/CVE-2026-12087.patch new file mode 100644 index 0000000000..535c9814d5 --- /dev/null +++ b/meta/recipes-devtools/perl/files/CVE-2026-12087.patch @@ -0,0 +1,165 @@ +From: Paul LeoNerd Evans +Date: Mon, 4 May 2026 16:12:49 +0100 +Subject: cpan/Socket - Update to version 2.041 + +2.041 2026-03-26 + [CHANGES] + * Modernise Pod documentation formatting + + [BUGFIXES] + * Fix reuse of `STRLEN len` variable in pack_ip_mreq_source() + +Backport changes: +- Adjusted the upstream hunks to match the perl 5.38.4 code layout. +- Drop not code files from the backport. + +CVE: CVE-2026-12087 +Upstream-Status: Backport [https://github.com/Perl/perl5/commit/de19a0b0ad1900fef976c5c1400bd8f11ec6c6cb] + +Signed-off-by: Jakub Szczudlo +--- + cpan/Socket/Socket.xs | 87 +++++++++++++++++++++++++++++++++------------------ + 1 file changed, 56 insertions(+), 31 deletions(-) + +diff --git a/cpan/Socket/Socket.xs b/cpan/Socket/Socket.xs +index b4bccb7..5fc558b 100644 +--- a/cpan/Socket/Socket.xs ++++ b/cpan/Socket/Socket.xs +@@ -1270,28 +1270,36 @@ pack_ip_mreq(multiaddr, interface=&PL_sv_undef) + struct ip_mreq mreq; + char * multiaddrbytes; + char * interfacebytes; +- STRLEN len; +- if (DO_UTF8(multiaddr) && !sv_utf8_downgrade(multiaddr, 1)) +- croak("Wide character in %s", "Socket::pack_ip_mreq"); +- multiaddrbytes = SvPVbyte(multiaddr, len); +- if (len != sizeof(mreq.imr_multiaddr)) +- croak("Bad arg length %s, length is %" UVuf +- ", should be %" UVuf, +- "Socket::pack_ip_mreq", (UV)len, (UV)sizeof(mreq.imr_multiaddr)); ++ ++ { ++ if (DO_UTF8(multiaddr) && !sv_utf8_downgrade(multiaddr, 1)) ++ croak("Wide character in %s", "Socket::pack_ip_mreq"); ++ ++ STRLEN len; ++ multiaddrbytes = SvPVbyte(multiaddr, len); ++ if (len != sizeof(mreq.imr_multiaddr)) ++ croak("Bad arg length %s, length is %" UVuf ", should be %" UVuf, ++ "Socket::pack_ip_mreq", (UV)len, (UV)sizeof(mreq.imr_multiaddr)); ++ } ++ + Zero(&mreq, sizeof(mreq), char); + Copy(multiaddrbytes, &mreq.imr_multiaddr, sizeof(mreq.imr_multiaddr), char); + if(SvOK(interface)) { + if (DO_UTF8(interface) && !sv_utf8_downgrade(interface, 1)) + croak("Wide character in %s", "Socket::pack_ip_mreq"); ++ ++ STRLEN len; + interfacebytes = SvPVbyte(interface, len); + if (len != sizeof(mreq.imr_interface)) + croak("Bad arg length %s, length is %" UVuf + ", should be %" UVuf, + "Socket::pack_ip_mreq", (UV)len, (UV)sizeof(mreq.imr_interface)); ++ + Copy(interfacebytes, &mreq.imr_interface, sizeof(mreq.imr_interface), char); + } + else + mreq.imr_interface.s_addr = INADDR_ANY; ++ + ST(0) = sv_2mortal(newSVpvn((char *)&mreq, sizeof(mreq))); + #else + not_here("pack_ip_mreq"); +@@ -1332,27 +1340,38 @@ pack_ip_mreq_source(multiaddr, source, interface=&PL_sv_undef) + char * multiaddrbytes; + char * sourcebytes; + char * interfacebytes; +- STRLEN len; +- if (DO_UTF8(multiaddr) && !sv_utf8_downgrade(multiaddr, 1)) +- croak("Wide character in %s", "Socket::pack_ip_mreq_source"); +- multiaddrbytes = SvPVbyte(multiaddr, len); +- if (len != sizeof(mreq.imr_multiaddr)) +- croak("Bad arg length %s, length is %" UVuf +- ", should be %" UVuf, +- "Socket::pack_ip_mreq", (UV)len, (UV)sizeof(mreq.imr_multiaddr)); +- if (DO_UTF8(source) && !sv_utf8_downgrade(source, 1)) +- croak("Wide character in %s", "Socket::pack_ip_mreq_source"); +- if (len != sizeof(mreq.imr_sourceaddr)) +- croak("Bad arg length %s, length is %" UVuf +- ", should be %" UVuf, +- "Socket::pack_ip_mreq", (UV)len, (UV)sizeof(mreq.imr_sourceaddr)); +- sourcebytes = SvPVbyte(source, len); ++ ++ { ++ if (DO_UTF8(multiaddr) && !sv_utf8_downgrade(multiaddr, 1)) ++ croak("Wide character in %s", "Socket::pack_ip_mreq_source"); ++ ++ STRLEN len; ++ multiaddrbytes = SvPVbyte(multiaddr, len); ++ if (len != sizeof(mreq.imr_multiaddr)) ++ croak("Bad arg length %s, length is %" UVuf ", should be %" UVuf, ++ "Socket::pack_ip_mreq", (UV)len, (UV)sizeof(mreq.imr_multiaddr)); ++ } ++ ++ { ++ if (DO_UTF8(source) && !sv_utf8_downgrade(source, 1)) ++ croak("Wide character in %s", "Socket::pack_ip_mreq_source"); ++ ++ STRLEN len; ++ sourcebytes = SvPVbyte(source, len); ++ if (len != sizeof(mreq.imr_sourceaddr)) ++ croak("Bad arg length %s, length is %" UVuf ", should be %" UVuf, ++ "Socket::pack_ip_mreq", (UV)len, (UV)sizeof(mreq.imr_sourceaddr)); ++ } ++ + Zero(&mreq, sizeof(mreq), char); + Copy(multiaddrbytes, &mreq.imr_multiaddr, sizeof(mreq.imr_multiaddr), char); + Copy(sourcebytes, &mreq.imr_sourceaddr, sizeof(mreq.imr_sourceaddr), char); ++ + if(SvOK(interface)) { + if (DO_UTF8(interface) && !sv_utf8_downgrade(interface, 1)) + croak("Wide character in %s", "Socket::pack_ip_mreq"); ++ ++ STRLEN len; + interfacebytes = SvPVbyte(interface, len); + if (len != sizeof(mreq.imr_interface)) + croak("Bad arg length %s, length is %" UVuf +@@ -1362,6 +1381,7 @@ pack_ip_mreq_source(multiaddr, source, interface=&PL_sv_undef) + } + else + mreq.imr_interface.s_addr = INADDR_ANY; ++ + ST(0) = sv_2mortal(newSVpvn((char *)&mreq, sizeof(mreq))); + #else + PERL_UNUSED_VAR(multiaddr); +@@ -1403,17 +1423,22 @@ pack_ipv6_mreq(multiaddr, ifindex) + #ifdef HAS_IPV6_MREQ + struct ipv6_mreq mreq; + char * multiaddrbytes; +- STRLEN len; +- if (DO_UTF8(multiaddr) && !sv_utf8_downgrade(multiaddr, 1)) +- croak("Wide character in %s", "Socket::pack_ipv6_mreq"); +- multiaddrbytes = SvPVbyte(multiaddr, len); +- if (len != sizeof(mreq.ipv6mr_multiaddr)) +- croak("Bad arg length %s, length is %" UVuf +- ", should be %" UVuf, +- "Socket::pack_ipv6_mreq", (UV)len, (UV)sizeof(mreq.ipv6mr_multiaddr)); ++ ++ { ++ if (DO_UTF8(multiaddr) && !sv_utf8_downgrade(multiaddr, 1)) ++ croak("Wide character in %s", "Socket::pack_ipv6_mreq"); ++ ++ STRLEN len; ++ multiaddrbytes = SvPVbyte(multiaddr, len); ++ if (len != sizeof(mreq.ipv6mr_multiaddr)) ++ croak("Bad arg length %s, length is %" UVuf ", should be %" UVuf, ++ "Socket::pack_ipv6_mreq", (UV)len, (UV)sizeof(mreq.ipv6mr_multiaddr)); ++ } ++ + Zero(&mreq, sizeof(mreq), char); + Copy(multiaddrbytes, &mreq.ipv6mr_multiaddr, sizeof(mreq.ipv6mr_multiaddr), char); + mreq.ipv6mr_interface = ifindex; ++ + ST(0) = sv_2mortal(newSVpvn((char *)&mreq, sizeof(mreq))); + #else + PERL_UNUSED_VAR(multiaddr); diff --git a/meta/recipes-devtools/perl/perl_5.38.4.bb b/meta/recipes-devtools/perl/perl_5.38.4.bb index 8ce5d3f5d0..df0f3ed0fb 100644 --- a/meta/recipes-devtools/perl/perl_5.38.4.bb +++ b/meta/recipes-devtools/perl/perl_5.38.4.bb @@ -25,6 +25,7 @@ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ file://CVE-2026-57432-02.patch \ file://CVE-2025-40909.patch \ file://CVE-2026-19487.patch \ + file://CVE-2026-12087.patch \ " SRC_URI:append:class-native = " \ file://perl-configpm-switch.patch \