Description
DBI versions before 1.656 for Perl hang on a later open of a DBD::DBM table because a failed open_data does not release the table's lock.

open_data creates the table's lock file and takes an exclusive flock on it for a CREATE, before the checks that can croak: a dbm_mldbm value that is not a module name, a failing tie, or a missing data file. The croak unwinds before the table object is blessed, so nothing releases the lock, and the meta data holding the open descriptor stays cached on the database handle.

The dbm_mldbm and dbm_type values come from the DSN or the connect attributes, so a caller that chooses the serializer or the storage backend can trigger the failure.

The flock has no timeout, so a later open of that table (even through a separate database handle) blocks for as long as the handle holding the stale lock lives, in the same process or any other.
Published: 2026-10-20
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service (application hang)
Action: Immediate Patch
AI Analysis

Impact

DBI versions earlier than 1.656 acquire an exclusive lock on a DBD::DBM table before performing checks that can cause the creation to fail. If the open_data call croaks due to an invalid serializer, missing data file, or failed tie, the lock is never released and the table’s metadata remains cached. Subsequent attempts to open the same table, even by a different database handle or process, block indefinitely, effectively freezing the application or any process that tries to access the table.

Affected Systems

Perl DBI libraries earlier than version 1.656, including any deployments that use DBD::DBM for local data storage. The vulnerability is tied to the library’s handling of serializer selection and storage backend configuration via the DSN or connection attributes.

Risk and Exploitability

The flaw results in a local denial‑of‑service; an attacker that can trigger a failed open_data operation for a specific table can cause the application or any processes that attempt to open that table to hang. The problem is purely a resource release issue and does not provide code execution or data exfiltration. The CVSS score is 6.5, indicating a moderate impact. The EPSS score indicates a very low exploitation probability (< 1 %). The CVE is not listed in CISA’s Known Exploited Vulnerabilities catalog. The primary attack vector is a local or privileged user manipulating DSN parameters or calling DBI functions that lead to a failed table initialization.

Generated by OpenCVE AI on October 30, 2026 at 14:34 UTC.

Remediation

Vendor Solution

Upgrade to DBI 1.656 or later.


OpenCVE Recommended Actions

  • Upgrade DBI to version 1.656 or later.
  • If an upgrade cannot be applied immediately, restart any processes that may hold stale locks to release the lock and clear the cached table metadata.
  • After a restart, verify that no stale lock files remain on disk; if present, remove them manually to ensure future opens succeed without blocking.

Generated by OpenCVE AI on October 30, 2026 at 14:34 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 30 Oct 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N'}


Fri, 23 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
First Time appeared Perl5-dbi
Perl5-dbi dbi
Vendors & Products Perl5-dbi
Perl5-dbi dbi

Wed, 21 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Wed, 21 Oct 2026 01:30:00 +0000

Type Values Removed Values Added
References

Tue, 20 Oct 2026 21:30:00 +0000

Type Values Removed Values Added
Description DBI versions before 1.656 for Perl hang on a later open of a DBD::DBM table because a failed open_data does not release the table's lock. open_data creates the table's lock file and takes an exclusive flock on it for a CREATE, before the checks that can croak: a dbm_mldbm value that is not a module name, a failing tie, or a missing data file. The croak unwinds before the table object is blessed, so nothing releases the lock, and the meta data holding the open descriptor stays cached on the database handle. The dbm_mldbm and dbm_type values come from the DSN or the connect attributes, so a caller that chooses the serializer or the storage backend can trigger the failure. The flock has no timeout, so a later open of that table (even through a separate database handle) blocks for as long as the handle holding the stale lock lives, in the same process or any other.
Title DBI versions before 1.656 for Perl hang on a later open of a DBD::DBM table because a failed open_data does not release the table's lock
Weaknesses CWE-667
References

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-30T12:55:30.033Z

Reserved: 2026-10-17T11:40:00.659Z

Link: CVE-2026-111879

cve-icon Vulnrichment

Updated: 2026-10-21T00:17:17.176Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-20T22:18:48.627

Modified: 2026-10-30T13:18:28.580

Link: CVE-2026-111879

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-20T21:24:00Z

Links: CVE-2026-111879 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T14:45:14Z

Weaknesses
  • CWE-667

    Improper Locking

  • CWE-772

    Missing Release of Resource after Effective Lifetime