Skip to content
Heist/ feed
CriticalFix available

perl-DBI security update

Type: advisorySource: OSV1 source record

The DBI is the standard database interface module for Perl. It defines a set of methods, variables and conventions that provide a consistent database interface independent of the actual database being used. It is important to remember that the DBI is just an interface. The DBI is a layer of "glue" between an application and one or more database driver modules. It is the driver modules which do most of the real work. The DBI provides a standard interface and framework for the drivers to operate within. Security Fix(es): DBI versions before 1.653 for Perl load arbitrary modules via unvalidated dbm_type and dbm_mldbm attributes in DBD::DBM. DBD::DBM passes the dbm_type and dbm_mldbm connect attributes to require without checking that the value names a module. require treats a path-shaped string as a literal filename and does not consult @INC, so the attribute chooses the file that Perl loads and runs. The MLDBM::Serializer:: prefix that DBD::DBM prepends to dbm_mldbm is not a boundary: only the :: separators are rewritten to /, so a value containing / traverses out of the serializer directory. The value is also assigned to $MLDBM::Serializer, which MLDBM requires the same way when it ties the table. A caller that lets an untrusted party influence either attribute, for example through a DSN fragment or a parameter that selects a storage backend, runs the file-scope code of whatever module the value names. For example, my $dsn = "dbi:DBM:f_dir=/var/db;dbm_type=../../Untr

Announced Source revision 1
Original source ↗

OESA-2026-4188

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:OESA-2026-4188

perl-DBI

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
1.643-10.oe2203sp4

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "ECOSYSTEM",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "1.643-10.oe2203sp4"
          }
        ]
      }
    ],
    "package": {
      "name": "perl-DBI",
      "purl": "pkg:rpm/openEuler/perl-DBI&distro=openEuler-22.03-LTS-SP4",
      "ecosystem": "openEuler:22.03-LTS-SP4"
    },
    "database_specific": {
      "source": "https://repo.openeuler.org/security/data/osv/OESA-2026-4188.json"
    },
    "ecosystem_specific": {
      "src": [
        "perl-DBI-1.643-10.oe2203sp4.src.rpm"
      ],
      "noarch": [
        "perl-DBI-help-1.643-10.oe2203sp4.noarch.rpm"
      ],
      "x86_64": [
        "perl-DBI-1.643-10.oe2203sp4.x86_64.rpm",
        "perl-DBI-debuginfo-1.643-10.oe2203sp4.x86_64.rpm",
        "perl-DBI-debugsource-1.643-10.oe2203sp4.x86_64.rpm"
      ],
      "aarch64": [
        "perl-DBI-1.643-10.oe2203sp4.aarch64.rpm",
        "perl-DBI-debuginfo-1.643-10.oe2203sp4.aarch64.rpm",
        "perl-DBI-debugsource-1.643-10.oe2203sp4.aarch64.rpm"
      ]
    }
  }
]

Publisher severity

critical

Source reference: /database_specific/severity

Event
#52129 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement