CVE-2014-9906
Critical · 9.8CVSS
9.8
EPSS
6.1%
Published
Aug 19, 2016
CISA due date
—
Cloudanix analysis
A problem in older database connection software can let attackers crash programs or run harmful code simply by interrupting a connection.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free vulnerability in DBD::mysql that occurs on lost server connections, enabling memory corruption that can crash the process or allow arbitrary code execution.
Why it matters to the business
Applications relying on database connectivity may crash or be compromised, causing service outages, data exposure, or unauthorized control over affected systems.
How an attack unfolds
An attacker interacts with a Perl application using DBD::mysql to trigger a server connection loss, then leverages the use-after-free condition to dereference freed memory for denial of service or code execution.
How to fix it
Upgrade DBD::mysql to version 4.029 or later; rebuild and redeploy any dependent Perl applications after the update.
How to confirm the fix worked
Confirm DBD::mysql version is at least 4.029 via package manager or module query; simulate connection loss scenarios in a test environment to verify stability.
Typical attack path
- Identify a target application using vulnerable DBD::mysql for MySQL connections
- Cause or intercept a server connection loss during operation
- Trigger reuse of freed memory structures in the module
- Corrupt memory to crash the process or inject and execute arbitrary code
How to detect it
Search application and system logs for unexpected Perl process terminations involving MySQL connections; review core dumps or memory error reports around database session events.
What your security team should do
- Prioritize upgrade of DBD::mysql across all environments due to high severity and remote exploitability
- Inventory all Perl applications using MySQL bindings and schedule updates
- Implement network controls to minimize unexpected database connection drops
- Monitor application logs and process crashes for signs of memory issues
The record
Use-after-free vulnerability in DBD::mysql before 4.029 allows attackers to cause a denial of service (program crash) or possibly execute arbitrary code via vectors related to a lost server connection.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libdbd-mysql-perl | 0 | 4.033-1 |
| Debian:12 | libdbd-mysql-perl | 0 | 4.033-1 |
| Debian:13 | libdbd-mysql-perl | 0 | 4.033-1 |
| Debian:14 | libdbd-mysql-perl | 0 | 4.033-1 |
| Debian:7 | libdbd-mysql-perl | 0 | 4.021-1+deb7u1 |
| Debian:8 | libdbd-mysql-perl | 0 | 4.028-2+deb8u1 |
| Mageia:5 | perl-DBD-mysql | 0 | 4.28.0-3.1.mga5 |
| Ubuntu:14.04:LTS | libdbd-mysql-perl | 0 | 4.025-1ubuntu0.1 |
| Ubuntu:16.04:LTS | libdbd-mysql-perl | 0 | 4.033-1build2 |
Related vulnerabilities
- CVE-2016-1249 The DBD::mysql module before 4.039 for Perl, when using server-side prepared statement… Also affects libdbd-mysql-perl
- CVE-2026-109618 PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort… CWE-416
- CVE-2026-109619 PHP has various global state that temporarily points into request memory. CWE-416
- CVE-2026-112402 Pillow is a Python imaging library. CWE-416
- CVE-2026-112396 Pillow is a Python imaging library. CWE-416
- CVE-2025-55654 A use-after-free in the gf_filter_pid_get_packet function (filter_core/filter_pid.c) of… CWE-416
- CVE-2026-17591 A flaw was found in libarchive. CWE-416
- CVE-2026-92392 During an upload, curl mishandles HTTP/2 `RST_STREAM` received from the server (with… CWE-416