libdbi-perl: Fix CVE-2026-14380

This patch applies the upstream fix as referenced in [2], using the
commit shown in [1].

The upstream fix replaces a string eval used to load profile packages
with Module::Load::load. Since Perl core modules are packaged
separately, add perl-module-load to RDEPENDS to provide Module/Load.pm
at runtime.

[1] https://github.com/perl5-dbi/dbi/commit/b73d5d9901767fc1d16b6661ef08fbed4532e259
[2] https://nvd.nist.gov/vuln/detail/CVE-2026-14380

Signed-off-by: Hetvi Thakar <hthakar@cisco.com>
Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
This commit is contained in:
Hetvi Thakar
2026-07-29 02:18:38 -07:00
committed by Anuj Mittal
parent a55a574fc6
commit a2b724e3c7
2 changed files with 39 additions and 0 deletions
@@ -0,0 +1,37 @@
From 509bbfcff36b1b1e1d81cc3ca435974448b9835c Mon Sep 17 00:00:00 2001
From: Robert Rothenberg <perl@rhizomnic.com>
Date: Wed, 1 Jul 2026 22:31:56 +0100
Subject: [PATCH] Load profile packages using Module::Load [CVE-2026-14380]
CVE: CVE-2026-14380
Upstream-Status: Backport [https://github.com/perl5-dbi/dbi/commit/b73d5d9901767fc1d16b6661ef08fbed4532e259]
(cherry picked from commit b73d5d9901767fc1d16b6661ef08fbed4532e259)
Signed-off-by: Hetvi Thakar <hthakar@cisco.com>
---
lib/DBI/Profile.pm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/DBI/Profile.pm b/lib/DBI/Profile.pm
index 9b16c53..66f39ec 100644
--- a/lib/DBI/Profile.pm
+++ b/lib/DBI/Profile.pm
@@ -679,6 +679,7 @@ use warnings;
use Exporter ();
use UNIVERSAL ();
use Carp;
+use Module::Load ();
use DBI qw(dbi_time dbi_profile dbi_profile_merge_nodes dbi_profile_merge);
@@ -758,7 +759,9 @@ sub _auto_new {
}
}
- eval "require $package" if $package; # silently ignores errors
+ eval {
+ Module::Load::load $package if $package; # silently ignores errors
+ };
$package ||= $class;
return $package->new(Path => \@Path, @args);
@@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=65f65488c774efe1da488e36ad6c4a36"
SRC_URI = "${CPAN_MIRROR}/authors/id/H/HM/HMBRAND/DBI-${PV}.tgz \
file://CVE-2026-9698.patch \
file://CVE-2026-10879.patch \
file://CVE-2026-14380.patch \
"
SRC_URI[sha256sum] = "0df16af8e5b3225a68b7b592ab531004ddb35a9682b50300ce50174ad867d9aa"
@@ -41,6 +42,7 @@ RDEPENDS:${PN}:class-target = " \
perl-module-exporter-heavy \
perl-module-dynaloader \
perl-module-io-dir \
perl-module-load \
perl-module-scalar-util \
perl-module-universal \
"