Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsTraining
StudyProjectsNewsletterHire MeAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Training
Study
Projects
Newsletter
Hire Me
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

2935+ Articles
167+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Checklists
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. Security
  3. CVE-2026-78030: Perl DBI Loads Arbitrary Modules via DBD::DBM
CVE-2026-78030: Perl DBI Loads Arbitrary Modules via DBD::DBM

Critical Security Alert

This vulnerability is actively being exploited. Immediate action is recommended.

SECURITYCRITICALCVE-2026-78030

CVE-2026-78030: Perl DBI Loads Arbitrary Modules via DBD::DBM

DBI before 1.653 lets attacker-influenced dbm_type/dbm_mldbm connect attributes make Perl require() and execute an arbitrary file.

Dylan H.

Security Team

September 20, 2026
3 min read

Affected Products

  • Perl DBI — versions before 1.653

Overview

A critical vulnerability in Perl's DBI module — the near-universal database interface layer for Perl applications — allows an attacker who can influence a database connection string to force Perl to load and execute an arbitrary file as code. Tracked as CVE-2026-78030 and rated 9.8 (Critical) on CVSS 3.1, it affects all DBI versions before 1.653.

The flaw lives in DBD::DBM, DBI's driver for simple DBM-style key-value databases, and is classified as CWE-470 (Unsafe Reflection) — untrusted input is used to select which code Perl loads and runs.


Technical Details

FieldValue
CVE IDCVE-2026-78030
SeverityCritical (CVSS 3.1: 9.8)
CWECWE-470 — Use of Externally-Controlled Input to Select Classes or Code
AffectedDBI (Perl) before 1.653
Fixed InDBI 1.653 (released 2026-09-09)
Related CVECVE-2026-15392 (symlink check hardening, fixed in the same release)

How It Works

DBD::DBM passes its dbm_type and dbm_mldbm connect attributes straight to Perl's require without verifying that the value actually names a legitimate module. require treats a path-shaped string as a literal filename rather than a module name — it never consults @INC — so whatever string is supplied in dbm_type or dbm_mldbm becomes the file Perl loads and executes at connect time.

DBD::DBM also prepends an MLDBM::Serializer:: prefix to dbm_mldbm values, intending to constrain the load to the serializer directory. That prefix is not an effective boundary: only the :: separators are rewritten to /, so a value containing / traverses out of the serializer directory entirely. The value is then also assigned to $MLDBM::Serializer, which MLDBM requires the same way once it ties the table — giving two separate unsafe load points from one attribute.

A minimal proof-of-concept connection string illustrates the issue:

dbi:DBM:f_dir=/var/db;dbm_type=../../Untrusted.pm

Any application that lets an untrusted party influence either attribute — for example through a DSN fragment, a query parameter that selects a storage backend, or a multi-tenant configuration value — will execute the file-scope code of whatever module name the attacker supplies. DBD::Gofer forwards connect attributes to its server side, and DBI::ProxyServer only validates that a DSN begins with a driver prefix, so both extend the exposure beyond directly embedded connection strings.


Impact Assessment

Any Perl application that:

  • Builds DBD::DBM connection strings from user-influenced input (tenant IDs, config selectors, API parameters), or
  • Runs behind DBD::Gofer or DBI::ProxyServer with attacker-reachable connect attributes

is at risk of arbitrary code execution in the context of the Perl process — which in many deployments runs with elevated filesystem or network privileges.


Mitigation

  • Upgrade to DBI 1.653 or later immediately
  • Never construct dbm_type or dbm_mldbm from untrusted input — treat them as trusted configuration, not request data
  • Audit DSN construction anywhere DBD::DBM is used with dynamic or tenant-supplied values
  • If running DBD::Gofer or DBI::ProxyServer, confirm connect attributes reaching those services are not attacker-controlled

References

  • NVD — CVE-2026-78030
  • DBI 1.653 release — metacpan.org
  • Ubuntu Security Notice USN-8466-1
#Perl#DBI#DBD::DBM#CVE-2026-78030#Unsafe Reflection#Code Injection#CWE-470

Related Articles

CVE-2026-66269: Dell OpenManage Server Administrator Unsafe Reflection Flaw

Dell patches an unauthenticated unsafe-reflection flaw in OpenManage Server Administrator that lets remote attackers bypass protection mechanisms.

3 min read

CVE-2026-25776: Movable Type Critical Code Injection (CVSS

Six Apart's Movable Type CMS contains a critical code injection vulnerability allowing unauthenticated attackers to execute arbitrary Perl scripts on...

5 min read

CVE-2026-82078: PaperCut NG/MF Unsafe Reflection Vulnerability

Critical unsafe reflection flaw in PaperCut NG/MF lets attackers run arbitrary Java code; now on CISA's KEV list and tied to active data theft.

5 min read
Back to all Security Alerts