CVE-2025-3277
NoneCVSS
—
EPSS
1.3%
Published
Apr 14, 2025
CISA due date
—
Cloudanix analysis
A database component can be tricked into letting attackers run their own code on affected systems by sending specially crafted data.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
An integer overflow in SQLite’s concat_ws() function causes a truncated value to be used for buffer allocation while the original size is used for the subsequent write, resulting in a ~4GB heap buffer overflow that can enable arbitrary code execution.
Why it matters to the business
Systems relying on the affected SQLite versions face risk of remote code execution, which could lead to data compromise or service disruption; the vulnerability affects widely used database components with moderate and increasing exploit likelihood but no confirmed active campaigns.
How an attack unfolds
An attacker supplies specially crafted input to the concat_ws() function to trigger the integer overflow, resulting in undersized heap allocation followed by an oversized write that corrupts memory and allows arbitrary code execution.
How to fix it
Upgrade SQLite to commit 3cd92ce875fd4e5601e535c35fef33494a6684e3 or later; for listed Red Hat expat packages on rhel_eus 9.4, update to version 0:2.5.0-2.el9_4.2.
How to confirm the fix worked
Confirm installed package versions match the listed fixed releases and test concat_ws() with large concatenated inputs to verify absence of overflow behavior.
Typical attack path
- Identify applications or services using a vulnerable SQLite version
- Supply malicious input that reaches the concat_ws() function
- Trigger the integer overflow to cause undersized buffer allocation
- Perform oversized write to achieve heap buffer overflow
- Leverage memory corruption for arbitrary code execution
How to detect it
Review application logs and crash reports for SQLite memory corruption indicators or unusual concat_ws failures; no public exploitation artifacts are known.
What your security team should do
- Apply the listed SQLite and expat updates immediately across all affected environments
- Inventory applications using SQLite to prioritize patching
- Monitor EPSS trend for continued increase in exploit probability
The record
An integer overflow can be triggered in SQLite’s `concat_ws()` function. The resulting, truncated integer is then used to allocate a buffer. When SQLite then writes the resulting string to the buffer, it uses the original, untruncated size and thus a wild Heap Buffer overflow of size ~4GB can be triggered. This can result in arbitrary code execution.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:10 | sqlite | 0 | 3.46.1-4.el10_0 |
| AlmaLinux:10 | sqlite-devel | 0 | 3.46.1-4.el10_0 |
| AlmaLinux:10 | sqlite-libs | 0 | 3.46.1-4.el10_0 |
| AlmaLinux:8 | nodejs | 0 | 1:22.15.0-1.module_el8.10.0+3986+a908e756 |
| AlmaLinux:8 | nodejs-devel | 0 | 1:22.15.0-1.module_el8.10.0+3986+a908e756 |
| AlmaLinux:8 | nodejs-docs | 0 | 1:22.15.0-1.module_el8.10.0+3986+a908e756 |
| AlmaLinux:8 | nodejs-full-i18n | 0 | 1:22.15.0-1.module_el8.10.0+3986+a908e756 |
| AlmaLinux:8 | nodejs-libs | 0 | 1:22.15.0-1.module_el8.10.0+3986+a908e756 |
| AlmaLinux:8 | nodejs-nodemon | 0 | 3.0.1-1.module_el8.10.0+3983+391a1a04 |
| AlmaLinux:8 | nodejs-packaging | 0 | 2021.06-4.module_el8.10.0+3961+6a788e57 |
| AlmaLinux:8 | nodejs-packaging-bundler | 0 | 2021.06-4.module_el8.10.0+3961+6a788e57 |
| AlmaLinux:8 | npm | 0 | 1:10.9.2-1.22.15.0.1.module_el8.10.0+3986+a908e756 |
| AlmaLinux:8 | v8-12.4-devel | 0 | 3:12.4.254.21-1.22.15.0.1.module_el8.10.0+3986+a908e756 |
| AlmaLinux:9 | nodejs | 0 | 1:22.15.0-1.module_el9.6.0+164+2d89b8ed |
| AlmaLinux:9 | nodejs-devel | 0 | 1:22.15.0-1.module_el9.6.0+164+2d89b8ed |
| AlmaLinux:9 | nodejs-docs | 0 | 1:22.15.0-1.module_el9.6.0+164+2d89b8ed |
| AlmaLinux:9 | nodejs-full-i18n | 0 | 1:22.15.0-1.module_el9.6.0+164+2d89b8ed |
| AlmaLinux:9 | nodejs-libs | 0 | 1:22.15.0-1.module_el9.6.0+164+2d89b8ed |
| AlmaLinux:9 | nodejs-nodemon | 0 | 3.0.1-1.module_el9.5.0+139+09296491 |
| AlmaLinux:9 | nodejs-packaging | 0 | 2021.06-4.module_el9.5.0+139+09296491 |
| AlmaLinux:9 | nodejs-packaging-bundler | 0 | 2021.06-4.module_el9.5.0+139+09296491 |
| AlmaLinux:9 | npm | 0 | 1:10.9.2-1.22.15.0.1.module_el9.6.0+164+2d89b8ed |
| AlmaLinux:9 | v8-12.4-devel | 0 | 3:12.4.254.21-1.22.15.0.1.module_el9.6.0+164+2d89b8ed |
| Alpine:v3.21 | sqlite | 0 | 3.48.0-r1 |
| Bitnami | sqlite | 0 | No fix |
| Debian:13 | sqlite3 | 0 | 3.46.1-3 |
| Debian:14 | sqlite3 | 0 | 3.46.1-3 |
| SUSE:Linux Enterprise Micro 5.1 | sqlite3 | 0 | 3.49.1-150000.3.27.1 |
| SUSE:Linux Enterprise Micro 5.2 | sqlite3 | 0 | 3.49.1-150000.3.27.1 |
| SUSE:Linux Enterprise Micro 5.3 | sqlite3 | 0 | 3.49.1-150000.3.27.1 |
| SUSE:Linux Enterprise Micro 5.4 | sqlite3 | 0 | 3.49.1-150000.3.27.1 |
| SUSE:Linux Enterprise Micro 5.5 | sqlite3 | 0 | 3.49.1-150000.3.27.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | sqlite3 | 0 | 3.49.1-150000.3.27.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | sqlite3 | 0 | 3.49.1-9.33.1 |
| openSUSE:Leap 15.6 | sqlite3 | 0 | 3.49.1-150000.3.27.1 |
Related vulnerabilities
- CVE-2025-6965 There exists a vulnerability in SQLite versions before 3.50.2 where the number of… Also affects sqlite
- CVE-2025-31498 c-ares is an asynchronous resolver library. Also affects nodejs
- CVE-2025-23085 A memory leak could occur when a remote peer abruptly closes the socket without sending a… Also affects nodejs
- CVE-2025-23083 With the aid of the diagnostics_channel utility, an event can be hooked into whenever a… Also affects nodejs
- CVE-2025-22150 Undici is an HTTP/1.1 client. Also affects nodejs
- CVE-2023-39333 Maliciously crafted export names in an imported WebAssembly module can inject JavaScript… Also affects nodejs
- CVE-2023-46809 Node.js versions which bundle an unpatched version of OpenSSL or run against a… Also affects nodejs
- CVE-2024-36137 A vulnerability has been identified in Node.js, affecting users of the experimental… Also affects nodejs