From patchwork Wed Nov 4 10:55:44 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: 102890 X-Patchwork-Delegate: yoann.congal@smile.fr Received: from AM0PR83CU005.outbound.protection.outlook.com (AM0PR83CU005.outbound.protection.outlook.com [52.101.69.53]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.6689.1793789748976775489 for ; Wed, 04 Nov 2026 02:55:49 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@nokia.com header.s=selector1 header.b=IXDxDHZg; 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.69.53, mailfrom: jakub.szczudlo@nokia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wyqHN+54mzPucyz79Bps3gNiCEZpBwVnLw0Cj9Zc2xvappyyVZKROvBn8YDrJmcEPX0WUoPYideIZAqwtYnkrXHldXt9rwM4TENyiqe8WniMWLzzO7teqK+U4rMz+QwE4Q1OpIMl/5OsSXkZAUmKvI9pku0bYDgOA1/HNrdgi2nGLTiaugZKm4vncAq6piInWhZnDt2+k6QHGtOaHh5bYDs35RF/bZvDgxmcqLP+u2q1MrdWetnWMLneXGA7ns2kdx6ZqnsiB/LLYC1OHH3lHcUscY4+PP0gpINpTWwUycsgIZ//5DKNPl/EeNsU8QeGW6XPIvPTuWP6eUjqJJ7RiA== 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=8iEyxrGUqpXPseI101wAP6YeRRpfpC3ZBaA9NHVPQbA=; b=B0XtdgT/Ie8Q6UxvPkJgt4PtIJK6Kyn9dtcNByh9m052Mpn9NfR2zA2jT9bqhke2eUNvAPz1FT1QYjlMogpGlnqv4JRByUIp+KWD8Iuigsc5t1BeKj/5TBVD3eNc6xGoytx9F/LiQAWaxyOIR7DqL+z/vsRh6OBM5HfCdrcbSOk21iakN7l16icEqg7el4DctBM6z/8T8Ib2mTFsbpxZ/djlqNXMmS7j0usts7RHigYZ+AVx/jKNOTB5MKrIVXSmBTz6xiRTFCb+gEGB2QYT95PNjlkkYkQ4aGAG3HQLxmHcl6Kt2SKe9I8GTIAflbFLpVcOgtljuAqMVsHCPcFvcw== 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=8iEyxrGUqpXPseI101wAP6YeRRpfpC3ZBaA9NHVPQbA=; b=IXDxDHZg/gC6wQv/S/CII03HJeF+aliy+weqQjcort5nLr3uSesgLYjzFF0ZW/iKCI2jky//reQhrtBkksglXF6y9i/KZOUjMIuMv2z2e+YuTwiEuHYU/4Yyzct1H7ULyFYbNR/jDn8M3kS/QoVmu4obRKuNCgung8uK8Crp4d8P+INCLn6pS7jB56LN1q6HYKyK2sGlXoescxPr1oCIhUqcNrY0HE+dRFulCPvohUEXo3nGJJphgyK36Kg+loN7uodb1wjYCsP6hxy8ePdniD54/BiLwoYMEwgzpCEKaf6W81KQIeGHSwdicYkEFhRo0yby5431ACfYEfbZnlZ7uA== Received: from GV2PR07MB11919.eurprd07.prod.outlook.com (2603:10a6:150:357::20) by MRWPR07MB12131.eurprd07.prod.outlook.com (2603:10a6:501:82::22) 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:55:44 +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:55:44 +0000 From: "Jakub Szczudlo (Nokia)" To: "openembedded-core@lists.openembedded.org" CC: "yoann.congal@smile.fr" , "Jakub Szczudlo (Nokia)" Subject: [scarthgap][PATCH v2] perl: fix CVE-2026-12087 Thread-Topic: [scarthgap][PATCH v2] perl: fix CVE-2026-12087 Thread-Index: AQHdbEsKUzM8sYEH5U2LkFcpFTNZOA== Date: Wed, 4 Nov 2026 10:55:44 +0000 Message-ID: <20261104105538.2044681-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_|MRWPR07MB12131:EE_ x-ms-office365-filtering-correlation-id: 66e1a506-fc34-4ca3-5587-08df3a622cae x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|23010399003|366016|1800799024|6133799003|10067099003|18002099003|12006099003|13003099007|38070700021|56012099006|11063799006|261022105027099003|261102123227099003|261026121527099003|261026140227099003|261028144727099003|261021123027099003|261021121427099003|261009223027099003|260925021911599003|260925021311599003|260925022911599003; x-microsoft-antispam-message-info: +DXTpOMm3ARWFA89qJLWh6zPvWQH9pLKl3RQtMb3KIZkxQMqdnzYI4i3SEC8l4hAlQGg1QgZzBeZNWyXWQ8/dsX0hG/Yh1XzPnTzSywgNawk9v22bEQ+wanQRicut+LfvxiSOJoiLVctWGw6YGNDl4dIo2CXPPkt6W1Leu3fdRNhYs4yhC3IoH4+9ZJd5fiSPmn0QDy6Q+tadtaSXmmnndDKu+Xfn+TRekfTpWo0erazjD5gQOUdZP6H3Ge8mMzZrUkMEY8qzoR0g3/+sq/JoPy+XIjk6aph2Hv9vMHfT6SPzrY2eHBaRq3vuVg4ikdGqCXxMm8QJWdEW/byf9TVEK4IV8pEyxz/axpXm2u/KFB/n1pGJRRbxJleoL4dkjwJ7JtNAJp9Zlq4pdzXIQI+Ce+kiFivh8XOMwJh/VyyqpGoiR5w8Kx2EQN7V55cDo3a1KDx7NMV/HszykMN0NuTrIz0R3Wa74w8FdswPOCyPtiqEvq4BgVJv68vVH7qehQ1TUDaaOoVuEydhgX68Q5+TJHekKXx3d6bix3znAG24EPkYiIsSDKjJj9q/4Zq56SLneItZ/xNm+tgod2h9IvYAfKxVUY+i8JUxBQQXz+6KD5glYiUGlG3jOtFqhOgRF0svBx7zxZgbzHtylejtT+nh67zk1ozXBm+0eC9BQCDqd4= 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)(376014)(23010399003)(366016)(1800799024)(6133799003)(10067099003)(18002099003)(12006099003)(13003099007)(38070700021)(56012099006)(11063799006)(261022105027099003)(261102123227099003)(261026121527099003)(261026140227099003)(261028144727099003)(261021123027099003)(261021121427099003)(261009223027099003)(260925021911599003)(260925021311599003)(260925022911599003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?UUGIERfMa2UfTRSD5/Ve5/ljBm9d?= =?utf-8?q?jgx5wZlD9J5DsN95tloa8fz+ALD2dop3tHj2XxTTHQolkGcA14QSBRYI0eQLkuGcq?= =?utf-8?q?FO2dl8ebsKtMtbCI+3FYlrZ4IdetC/2lmprHHiCCOInAmH+eNI+iS6l1gg/lQuRMB?= =?utf-8?q?t3u5jy+06vJVd26oN9Sbw+Kh+jHHHPUTg3dFKifoYFYRDuVi7Bl1omQk0rpOSD4Xx?= =?utf-8?q?EZbpS+x97iIDIgF4uGwgyGbPu9ZdTDFCqnlgUpgis0Q1QsgXcjrskIx/TYAvFunk7?= =?utf-8?q?uSyuGjQfq8s2P9HuiH1YXMjo9lizySZf9abChYG2ItN3QKfRVfFdUONOmzNXAbVWI?= =?utf-8?q?ptm44QxIJaR3ilqkZGI7cNkDKvG+p4XkiOuma0mLARPdoVvRuUbqmkc77Wz3r4bHH?= =?utf-8?q?+FaaYD984uA+PyyHdXL2/BKuIfepaKOxdj1baq/CdyoCYRkJXykQvSEj7TTztbMc5?= =?utf-8?q?QkDPSwiBkvbLBL+uzOdiC95an6cKNl1FYzwU4eNIIEMogE3ujpY8Mp0w/FGtAFC8o?= =?utf-8?q?uFx9kdh2ycfWHkQFZTdMjyy2KBq83T6YRHRZtn0OQLcRC9Mtdhu8VmSDPBTPV2G+X?= =?utf-8?q?xzRkm9rfGGQ2k3C0RgU/EzFMqCFh5T3/zPGUa8jr46/67FshZ/RCfDK+zyDQo70zA?= =?utf-8?q?RfhCsLrEhBDMnr4IHUwwfpTagZi+i2emwRjaKB+WM8gFOo4NqYFOYK66Zs6QT1/c0?= =?utf-8?q?3Sk4DpYkCjN62BQo9IYvRtD5PunldAGAZnglrQmZJ5TneW68VHOoqCkitm8iGHn/c?= =?utf-8?q?Zv3/+lkdJEUhI3PKH1tGMAn2nZlLLe2GqJNAq6Gph51HNw4budSs/eV8pkBCdxzWI?= =?utf-8?q?r2Pe+I3iwP0cBEB7Jsts9Js8B7FWPisOfUkA/Ee/u0Ha+oV2pjA5bY6j4ImYntpja?= =?utf-8?q?WYcwxBNdR5mDO7O4B8lmhFQZHmFaJu2b/BTiR7whJwfvgO89SkwD32y+HjnFkyqTN?= =?utf-8?q?4j/cgIOhXzjTw9dLFhaCs5SGX7+6oa1+dqSNVk3SPeQzVrojYxy04pmAZam8WXIvv?= =?utf-8?q?TBZl1l9LR+GEa/Q8tSOwFzZGpRCMaTOdIftvJda/lLVjZJ9TQzqH6uojfE5TrPIsA?= =?utf-8?q?JRim8ed8fz/XzT/yAnJsiK2P53sRmvrWfjm9o0+ueH1lgSFfMxEsLrkEaTnup8JWi?= =?utf-8?q?qCmXQRfLBd+b4oG7g1Y6p6oUo9la6KODFgYlzkSuLGHy7QSk6maidX7zfVVodWTb2?= =?utf-8?q?egOJgrv/Ek3MJgl36ze+Gcl+YfGFMqG0QBfpj4WznwvshLKpCN+ro/epMS47SG6//?= =?utf-8?q?uBVrjfTJNbNdUQLDC4+6d0awoKGtlVzkmEQmjF5cRwV59jH09gR1pnKq4egLEn4Ik?= =?utf-8?q?ptDwhFD6ANJu86PWPLqQEZzGWxxkDG7e8Y5vbPR2aLQuyQshVlrq2ggy9R+fkvX6B?= =?utf-8?q?eeXR7z/19zKS73tvJxAzQ6QMVhFsd/vJ16A64xcFFf5uk4tZK2Qx/35JGXPL6kBxi?= =?utf-8?q?2eUM/VuNdQpUmR0CLYua04lWzI4Xgequ0Trmo80sMN60KkylcbES1G3ON4+xRrRYD?= =?utf-8?q?H0ElxZcezKE/qslycZTQd2BcjiD4AiSf/mI9vfy/unhva0IBouSK0SRLpgP2f3lz8?= =?utf-8?q?PV/mVZXIrBT9JQf1hqq4Dc4kuzAKT/fodmBSqeievopWzHV8MB4OSEYwOkmI1m9Dq?= =?utf-8?q?harOX1FoGDrxd+e5dHw2ffi9VJn0OM3g=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: 66e1a506-fc34-4ca3-5587-08df3a622cae X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2026 10:55:44.0193 (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: Ule389kAZL8Rf4+RBjq91vqySdUKhkSXpcbanGNxYpvjlVs3OhOfxNXx7NC6WyehawVHNCmQATONIknes54kaIqCLGq+t+MZGq7wwMBcK6Q= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRWPR07MB12131 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:55:57 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/249356 Backport patch to fix CVE-2026-12087. 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 \