CVE-2019-13734
High · 8.8CVSS
8.8
EPSS
3.9%
Published
Dec 10, 2019
CISA due date
—
Cloudanix analysis
A flaw in the browser's handling of database operations could let a malicious webpage take control of the browser if a user visits the page.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds write in the SQLite engine embedded in Chrome that corrupts heap memory, enabling potential arbitrary code execution within the renderer process.
Why it matters to the business
Successful exploitation can result in full browser compromise, leading to credential theft, session hijacking, or malware delivery across a wide range of enterprise and consumer systems that rely on Chrome or its downstream distributions.
How an attack unfolds
An attacker hosts a malicious HTML page containing a crafted SQLite operation that triggers the out-of-bounds write when parsed by Chrome's SQLite component; the resulting heap corruption is then leveraged to achieve code execution in the context of the renderer.
How to fix it
Upgrade Google Chrome to version 79.0.3945.79 or later on all affected systems; apply equivalent updates for downstream packages in Fedora, Red Hat, Ubuntu, SUSE, Debian, and Oracle products once vendor fixes become available.
How to confirm the fix worked
Verify installed Chrome version is 79.0.3945.79 or newer; retest affected web content in an isolated environment after patching to confirm the crash or corruption no longer occurs.
Typical attack path
- Attacker crafts and hosts a malicious HTML page embedding a trigger for the SQLite flaw
- Victim is directed to the page via phishing, malicious advertisement, or compromised site
- Chrome renders the page and invokes the vulnerable SQLite code path
- Out-of-bounds write corrupts heap memory, enabling control-flow hijacking
- Attacker payload executes within the renderer process
How to detect it
Inspect browser crash logs and memory dumps for signs of heap corruption originating from SQLite operations; correlate with web-proxy logs showing visits to previously unknown or suspicious domains around the time of any anomalous renderer terminations.
What your security team should do
- Immediately deploy Chrome updates across the environment given the high CVSS and broad product exposure
- Block known malicious domains and monitor for renderer crashes that could indicate attempted exploitation
- Review browser extension and web-application allow-lists to reduce exposure surface until patching is complete
The record
Out of bounds write in SQLite in Google Chrome prior to 79.0.3945.79 allowed a remote attacker to potentially exploit heap corruption via a crafted HTML page.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | chromium | 0 | 79.0.3945.130-1~deb10u1 |
| Debian:11 | chromium | 0 | 79.0.3945.79-1 |
| Debian:12 | chromium | 0 | 79.0.3945.79-1 |
| Debian:13 | chromium | 0 | 79.0.3945.79-1 |
| Debian:14 | chromium | 0 | 79.0.3945.79-1 |
| Mageia:7 | chromium-browser-stable | 0 | 79.0.3945.130-1.mga7 |
| Mageia:7 | sqlite3 | 0 | 3.31.1-1.mga7 |
| Red Hat:enterprise_linux:7::client | lemon | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::client | sqlite | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::client | sqlite-debuginfo | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::client | sqlite-devel | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::client | sqlite-doc | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::client | sqlite-tcl | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::computenode | lemon | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::computenode | sqlite | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::computenode | sqlite-debuginfo | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::computenode | sqlite-devel | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::computenode | sqlite-doc | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::computenode | sqlite-tcl | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::server | lemon | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::server | sqlite | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::server | sqlite-debuginfo | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::server | sqlite-devel | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::server | sqlite-doc | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::server | sqlite-tcl | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::workstation | lemon | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::workstation | sqlite | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::workstation | sqlite-debuginfo | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::workstation | sqlite-devel | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::workstation | sqlite-doc | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:7::workstation | sqlite-tcl | 0 | 0:3.7.17-8.el7_7.1 |
| Red Hat:enterprise_linux:8::appstream | lemon | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::appstream | lemon-debuginfo | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::appstream | sqlite | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::appstream | sqlite-analyzer-debuginfo | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::appstream | sqlite-debuginfo | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::appstream | sqlite-debugsource | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::appstream | sqlite-devel | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::appstream | sqlite-doc | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::appstream | sqlite-libs | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::appstream | sqlite-libs-debuginfo | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::appstream | sqlite-tcl-debuginfo | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::baseos | lemon | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::baseos | lemon-debuginfo | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::baseos | sqlite | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::baseos | sqlite-analyzer-debuginfo | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::baseos | sqlite-debuginfo | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::baseos | sqlite-debugsource | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::baseos | sqlite-devel | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::baseos | sqlite-doc | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::baseos | sqlite-libs | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::baseos | sqlite-libs-debuginfo | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:enterprise_linux:8::baseos | sqlite-tcl-debuginfo | 0 | 0:3.26.0-4.el8_1 |
| Red Hat:rhel_e4s:8.0::appstream | lemon | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::appstream | lemon-debuginfo | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::appstream | sqlite | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::appstream | sqlite-analyzer-debuginfo | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::appstream | sqlite-debuginfo | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::appstream | sqlite-debugsource | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::appstream | sqlite-devel | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::appstream | sqlite-doc | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::appstream | sqlite-libs | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::appstream | sqlite-libs-debuginfo | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::appstream | sqlite-tcl-debuginfo | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::baseos | lemon | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::baseos | lemon-debuginfo | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::baseos | sqlite | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::baseos | sqlite-analyzer-debuginfo | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::baseos | sqlite-debuginfo | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::baseos | sqlite-debugsource | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::baseos | sqlite-devel | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::baseos | sqlite-doc | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::baseos | sqlite-libs | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::baseos | sqlite-libs-debuginfo | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_e4s:8.0::baseos | sqlite-tcl-debuginfo | 0 | 0:3.26.0-4.el8_0 |
| Red Hat:rhel_eus:7.6::computenode | lemon | 0 | 0:3.7.17-8.el7_6.1 |
| Red Hat:rhel_eus:7.6::computenode | sqlite | 0 | 0:3.7.17-8.el7_6.1 |
| Red Hat:rhel_eus:7.6::computenode | sqlite-debuginfo | 0 | 0:3.7.17-8.el7_6.1 |
| Red Hat:rhel_eus:7.6::computenode | sqlite-devel | 0 | 0:3.7.17-8.el7_6.1 |
| Red Hat:rhel_eus:7.6::computenode | sqlite-doc | 0 | 0:3.7.17-8.el7_6.1 |
| Red Hat:rhel_eus:7.6::computenode | sqlite-tcl | 0 | 0:3.7.17-8.el7_6.1 |
| Red Hat:rhel_eus:7.6::server | lemon | 0 | 0:3.7.17-8.el7_6.1 |
| Red Hat:rhel_eus:7.6::server | sqlite | 0 | 0:3.7.17-8.el7_6.1 |
| Red Hat:rhel_eus:7.6::server | sqlite-debuginfo | 0 | 0:3.7.17-8.el7_6.1 |
| Red Hat:rhel_eus:7.6::server | sqlite-devel | 0 | 0:3.7.17-8.el7_6.1 |
| Red Hat:rhel_eus:7.6::server | sqlite-doc | 0 | 0:3.7.17-8.el7_6.1 |
| Red Hat:rhel_eus:7.6::server | sqlite-tcl | 0 | 0:3.7.17-8.el7_6.1 |
| Red Hat:rhel_extras:6 | chromium-browser | 0 | 0:79.0.3945.79-1.el6_10 |
| Red Hat:rhel_extras:6 | chromium-browser-debuginfo | 0 | 0:79.0.3945.79-1.el6_10 |
| SUSE:Package Hub 12 SP3 | chromium | 0 | 79.0.3945.79-bp150.252.1 |
| SUSE:Package Hub 15 | chromium | 0 | 79.0.3945.79-bp150.252.1 |
| SUSE:Package Hub 15 SP1 | chromium | 0 | 79.0.3945.79-bp151.3.35.1 |
| Ubuntu:14.04:LTS | sqlite | 0 | No fix |
| Ubuntu:14.04:LTS | sqlite3 | 0 | 3.8.2-1ubuntu2.2+esm2 |
| Ubuntu:16.04:LTS | chromium-browser | 0 | 79.0.3945.79-0ubuntu0.16.04.1 |
| Ubuntu:16.04:LTS | sqlite | 0 | No fix |
| Ubuntu:16.04:LTS | sqlite3 | 0 | 3.11.0-1ubuntu1.4 |
| Ubuntu:18.04:LTS | chromium-browser | 0 | 79.0.3945.79-0ubuntu0.18.04.1 |
| Ubuntu:18.04:LTS | sqlite | 0 | No fix |
| Ubuntu:18.04:LTS | sqlite3 | 0 | 3.22.0-1ubuntu0.3 |
| Ubuntu:20.04:LTS | chromium-browser | 0 | 79.0.3945.79-0ubuntu1 |
| Ubuntu:20.04:LTS | sqlite | 0 | No fix |
| Ubuntu:20.04:LTS | sqlite3 | 0 | 3.31.1-1ubuntu1 |
| Ubuntu:22.04:LTS | sqlite | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | sqlite | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | sqlite3 | 0 | 3.8.2-1ubuntu2.2+esm2 |
| Ubuntu:Pro:16.04:LTS | sqlite | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | sqlite | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | sqlite | 0 | No fix |
| openSUSE:Leap 15.1 | chromium | 0 | 79.0.3945.79-bp150.252.1 |
| openSUSE:Tumbleweed | chromium | 0 | 93.0.4577.82-1.1 |
| openSUSE:Tumbleweed | chromium | 0 | 113.0.5672.92-1.1 |
Related vulnerabilities
- CVE-2022-2160 Insufficient policy enforcement in DevTools in Google Chrome on Windows prior to… Also affects chromium
- CVE-2021-21215 Inappropriate implementation in Autofill in Google Chrome prior to 90.0.4430.72 allowed a… Also affects chromium
- CVE-2021-21224 Type confusion in V8 in Google Chrome prior to 90.0.4430.85 allowed a remote attacker to… Also affects chromium
- CVE-2021-21216 Inappropriate implementation in Autofill in Google Chrome prior to 90.0.4430.72 allowed a… Also affects chromium
- CVE-2021-21193 Use after free in Blink in Google Chrome prior to 89.0.4389.90 allowed a remote attacker… Also affects chromium
- CVE-2021-21177 Insufficient policy enforcement in Autofill in Google Chrome prior to 89.0.4389.72… Also affects chromium
- CVE-2021-21166 Data race in audio in Google Chrome prior to 89.0.4389.72 allowed a remote attacker to… Also affects chromium
- CVE-2021-21132 Inappropriate implementation in DevTools in Google Chrome prior to 88.0.4324.96 allowed a… Also affects chromium