sqlite CVE Vulnerabilities & Metrics

Focus on sqlite vulnerabilities and metrics.

Last updated: 08 Mar 2025, 23:25 UTC

About sqlite Security Exposure

This page consolidates all known Common Vulnerabilities and Exposures (CVEs) associated with sqlite. We track both calendar-based metrics (using fixed periods) and rolling metrics (using gliding windows) to give you a comprehensive view of security trends and risk evolution. Use these insights to assess risk and plan your patching strategy.

For a broader perspective on cybersecurity threats, explore the comprehensive list of CVEs by vendor and product. Stay updated on critical vulnerabilities affecting major software and hardware providers.

Global CVE Overview

Total sqlite CVEs: 53
Earliest CVE date: 03 Apr 2009, 18:30 UTC
Latest CVE date: 16 Jan 2024, 14:15 UTC

Latest CVE reference: CVE-2024-0232

Rolling Stats

30-day Count (Rolling): 0
365-day Count (Rolling): 0

Calendar-based Variation

Calendar-based Variation compares a fixed calendar period (e.g., this month versus the same month last year), while Rolling Growth Rate uses a continuous window (e.g., last 30 days versus the previous 30 days) to capture trends independent of calendar boundaries.

Variations & Growth

Month Variation (Calendar): 0%
Year Variation (Calendar): -100.0%

Month Growth Rate (30-day Rolling): 0.0%
Year Growth Rate (365-day Rolling): -100.0%

Monthly CVE Trends (current vs previous Year)

Annual CVE Trends (Last 20 Years)

Critical sqlite CVEs (CVSS ≥ 9) Over 20 Years

CVSS Stats

Average CVSS: 4.73

Max CVSS: 10.0

Critical CVEs (≥9): 1

CVSS Range vs. Count

Range Count
0.0-3.9 13
4.0-6.9 32
7.0-8.9 11
9.0-10.0 1

CVSS Distribution Chart

Top 5 Highest CVSS sqlite CVEs

These are the five CVEs with the highest CVSS scores for sqlite, sorted by severity first and recency.

All CVEs for sqlite

CVE-2024-0232 sqlite vulnerability CVSS: 0 16 Jan 2024, 14:15 UTC

A heap use-after-free issue has been identified in SQLite in the jsonParseAddNodeArray() function in sqlite3.c. This flaw allows a local attacker to leverage a victim to pass specially crafted malicious input to the application, potentially causing a crash and leading to a denial of service.

CVE-2023-7104 sqlite vulnerability CVSS: 5.2 29 Dec 2023, 10:15 UTC

A vulnerability was found in SQLite SQLite3 up to 3.43.0 and classified as critical. This issue affects the function sessionReadRecord of the file ext/session/sqlite3session.c of the component make alltest Handler. The manipulation leads to heap-based buffer overflow. It is recommended to apply a patch to fix this issue. The associated identifier of this vulnerability is VDB-248999.

CVE-2021-31239 sqlite vulnerability CVSS: 0 09 May 2023, 02:15 UTC

An issue found in SQLite SQLite3 v.3.35.4 that allows a remote attacker to cause a denial of service via the appendvfs.c function.

CVE-2022-46908 sqlite vulnerability CVSS: 0 12 Dec 2022, 06:15 UTC

SQLite through 3.40.0, when relying on --safe for execution of an untrusted CLI script, does not properly implement the azProhibitedFunctions protection mechanism, and instead allows UDF functions such as WRITEFILE.

CVE-2020-35527 sqlite vulnerability CVSS: 0 01 Sep 2022, 18:15 UTC

In SQLite 3.31.1, there is an out of bounds access problem through ALTER TABLE for views that have a nested FROM clause.

CVE-2020-35525 sqlite vulnerability CVSS: 0 01 Sep 2022, 18:15 UTC

In SQlite 3.31.1, a potential null pointer derreference was found in the INTERSEC query processing.

CVE-2022-35737 sqlite vulnerability CVSS: 0 03 Aug 2022, 06:15 UTC

SQLite 1.0.12 through 3.39.x before 3.39.2 sometimes allows an array-bounds overflow if billions of bytes are used in a string argument to a C API.

CVE-2021-45346 sqlite vulnerability CVSS: 4.0 14 Feb 2022, 19:15 UTC

A Memory Leak vulnerability exists in SQLite Project SQLite3 3.35.1 and 3.37.0 via maliciously crafted SQL Queries (made via editing the Database File), it is possible to query a record, and leak subsequent bytes of memory that extend beyond the record, which could let a malicious user obtain sensitive information. NOTE: The developer disputes this as a vulnerability stating that If you give SQLite a corrupted database file and submit a query against the database, it might read parts of the database that you did not intend or expect.

CVE-2021-36690 sqlite vulnerability CVSS: 5.0 24 Aug 2021, 14:15 UTC

A segmentation fault can occur in the sqlite3.exe command-line component of SQLite 3.36.0 via the idxGetTableInfo function when there is a crafted SQL query. NOTE: the vendor disputes the relevance of this report because a sqlite3.exe user already has full privileges (e.g., is intentionally allowed to execute commands). This report does NOT imply any problem in the SQLite library.

CVE-2021-20227 sqlite vulnerability CVSS: 2.1 23 Mar 2021, 17:15 UTC

A flaw was found in SQLite's SELECT query functionality (src/select.c). This flaw allows an attacker who is capable of running SQL queries locally on the SQLite database to cause a denial of service or possible code execution by triggering a use-after-free. The highest threat from this vulnerability is to system availability.

CVE-2020-15358 sqlite vulnerability CVSS: 2.1 27 Jun 2020, 12:15 UTC

In SQLite before 3.32.3, select.c mishandles query-flattener optimization, leading to a multiSelectOrderBy heap overflow because of misuse of transitive properties for constant propagation.

CVE-2020-13871 sqlite vulnerability CVSS: 5.0 06 Jun 2020, 16:15 UTC

SQLite 3.32.2 has a use-after-free in resetAccumulator in select.c because the parse tree rewrite for window functions is too late.

CVE-2020-13632 sqlite vulnerability CVSS: 2.1 27 May 2020, 15:15 UTC

ext/fts3/fts3_snippet.c in SQLite before 3.32.0 has a NULL pointer dereference via a crafted matchinfo() query.

CVE-2020-13631 sqlite vulnerability CVSS: 2.1 27 May 2020, 15:15 UTC

SQLite before 3.32.0 allows a virtual table to be renamed to the name of one of its shadow tables, related to alter.c and build.c.

CVE-2020-13630 sqlite vulnerability CVSS: 4.4 27 May 2020, 15:15 UTC

ext/fts3/fts3.c in SQLite before 3.32.0 has a use-after-free in fts3EvalNextRow, related to the snippet feature.

CVE-2020-13435 sqlite vulnerability CVSS: 2.1 24 May 2020, 22:15 UTC

SQLite through 3.32.0 has a segmentation fault in sqlite3ExprCodeTarget in expr.c.

CVE-2020-13434 sqlite vulnerability CVSS: 2.1 24 May 2020, 22:15 UTC

SQLite through 3.32.0 has an integer overflow in sqlite3_str_vappendf in printf.c.

CVE-2020-11656 sqlite vulnerability CVSS: 7.5 09 Apr 2020, 03:15 UTC

In SQLite through 3.31.1, the ALTER TABLE implementation has a use-after-free, as demonstrated by an ORDER BY clause that belongs to a compound SELECT statement.

CVE-2020-11655 sqlite vulnerability CVSS: 5.0 09 Apr 2020, 03:15 UTC

SQLite through 3.31.1 allows attackers to cause a denial of service (segmentation fault) via a malformed window-function query because the AggInfo object's initialization is mishandled.

CVE-2020-9327 sqlite vulnerability CVSS: 5.0 21 Feb 2020, 22:15 UTC

In SQLite 3.31.1, isAuxiliaryVtabOperator allows attackers to trigger a NULL pointer dereference and segmentation fault because of generated column optimizations.

CVE-2019-19959 sqlite vulnerability CVSS: 5.0 03 Jan 2020, 22:15 UTC

ext/misc/zipfile.c in SQLite 3.30.1 mishandles certain uses of INSERT INTO in situations involving embedded '\0' characters in filenames, leading to a memory-management error that can be detected by (for example) valgrind.

CVE-2019-20218 sqlite vulnerability CVSS: 5.0 02 Jan 2020, 14:16 UTC

selectExpander in select.c in SQLite 3.30.1 proceeds with WITH stack unwinding even after a parsing error.

CVE-2019-19925 sqlite vulnerability CVSS: 5.0 24 Dec 2019, 17:15 UTC

zipfileUpdate in ext/misc/zipfile.c in SQLite 3.30.1 mishandles a NULL pathname during an update of a ZIP archive.

CVE-2019-19924 sqlite vulnerability CVSS: 5.0 24 Dec 2019, 16:15 UTC

SQLite 3.30.1 mishandles certain parser-tree rewriting, related to expr.c, vdbeaux.c, and window.c. This is caused by incorrect sqlite3WindowRewrite() error handling.

CVE-2019-19923 sqlite vulnerability CVSS: 5.0 24 Dec 2019, 16:15 UTC

flattenSubquery in select.c in SQLite 3.30.1 mishandles certain uses of SELECT DISTINCT involving a LEFT JOIN in which the right-hand side is a view. This can cause a NULL pointer dereference (or incorrect results).

CVE-2019-19926 sqlite vulnerability CVSS: 5.0 23 Dec 2019, 01:15 UTC

multiSelect in select.c in SQLite 3.30.1 mishandles certain errors during parsing, as demonstrated by errors from sqlite3WindowRewrite() calls. NOTE: this vulnerability exists because of an incomplete fix for CVE-2019-19880.

CVE-2019-19880 sqlite vulnerability CVSS: 5.0 18 Dec 2019, 06:15 UTC

exprListAppendList in window.c in SQLite 3.30.1 allows attackers to trigger an invalid pointer dereference because constant integer values in ORDER BY clauses of window definitions are mishandled.

CVE-2019-19646 sqlite vulnerability CVSS: 7.5 09 Dec 2019, 19:15 UTC

pragma.c in SQLite through 3.30.1 mishandles NOT NULL in an integrity_check PRAGMA command in certain cases of generated columns.

CVE-2019-19603 sqlite vulnerability CVSS: 5.0 09 Dec 2019, 19:15 UTC

SQLite 3.30.1 mishandles certain SELECT statements with a nonexistent VIEW, leading to an application crash.

CVE-2019-19645 sqlite vulnerability CVSS: 2.1 09 Dec 2019, 16:15 UTC

alter.c in SQLite through 3.30.1 allows attackers to trigger infinite recursion via certain types of self-referential views in conjunction with ALTER TABLE statements.

CVE-2019-19317 sqlite vulnerability CVSS: 7.5 05 Dec 2019, 14:15 UTC

lookupName in resolve.c in SQLite 3.30.1 omits bits from the colUsed bitmask in the case of a generated column, which allows attackers to cause a denial of service or possibly have unspecified other impact.

CVE-2019-19242 sqlite vulnerability CVSS: 4.3 27 Nov 2019, 17:15 UTC

SQLite 3.30.1 mishandles pExpr->y.pTab, as demonstrated by the TK_COLUMN case in sqlite3ExprCodeTarget in expr.c.

CVE-2019-19244 sqlite vulnerability CVSS: 5.0 25 Nov 2019, 20:15 UTC

sqlite3Select in select.c in SQLite 3.30.1 allows a crash if a sub-select uses both DISTINCT and window functions, and also has certain ORDER BY usage.

CVE-2019-16168 sqlite vulnerability CVSS: 4.3 09 Sep 2019, 17:15 UTC

In SQLite through 3.29.0, whereLoopAddBtreeIndex in sqlite3.c can crash a browser or other application because of missing validation of a sqlite_stat1 sz field, aka a "severe division by zero in the query planner."

CVE-2019-8457 sqlite vulnerability CVSS: 7.5 30 May 2019, 16:29 UTC

SQLite3 from 3.6.0 to and including 3.27.2 is vulnerable to heap out-of-bound read in the rtreenode() function when handling invalid rtree tables.

CVE-2019-5018 sqlite vulnerability CVSS: 6.8 10 May 2019, 19:29 UTC

An exploitable use after free vulnerability exists in the window function functionality of Sqlite3 3.26.0. A specially crafted SQL command can cause a use after free vulnerability, potentially resulting in remote code execution. An attacker can send a malicious SQL command to trigger this vulnerability.

CVE-2018-20506 sqlite vulnerability CVSS: 6.8 03 Apr 2019, 18:29 UTC

SQLite before 3.25.3, when the FTS3 extension is enabled, encounters an integer overflow (and resultant buffer overflow) for FTS3 queries in a "merge" operation that occurs after crafted changes to FTS3 shadow tables, allowing remote attackers to execute arbitrary code by leveraging the ability to run arbitrary SQL statements (such as in certain WebSQL use cases). This is a different vulnerability than CVE-2018-20346.

CVE-2018-20505 sqlite vulnerability CVSS: 5.0 03 Apr 2019, 18:29 UTC

SQLite 3.25.2, when queries are run on a table with a malformed PRIMARY KEY, allows remote attackers to cause a denial of service (application crash) by leveraging the ability to run arbitrary SQL statements (such as in certain WebSQL use cases).

CVE-2019-9937 sqlite vulnerability CVSS: 5.0 22 Mar 2019, 08:29 UTC

In SQLite 3.27.2, interleaving reads and writes in a single transaction with an fts5 virtual table will lead to a NULL Pointer Dereference in fts5ChunkIterate in sqlite3.c. This is related to ext/fts5/fts5_hash.c and ext/fts5/fts5_index.c.

CVE-2019-9936 sqlite vulnerability CVSS: 5.0 22 Mar 2019, 08:29 UTC

In SQLite 3.27.2, running fts5 prefix queries inside a transaction could trigger a heap-based buffer over-read in fts5HashEntrySort in sqlite3.c, which may lead to an information leak. This is related to ext/fts5/fts5_hash.c.

CVE-2018-20346 sqlite vulnerability CVSS: 6.8 21 Dec 2018, 21:29 UTC

SQLite before 3.25.3, when the FTS3 extension is enabled, encounters an integer overflow (and resultant buffer overflow) for FTS3 queries that occur after crafted changes to FTS3 shadow tables, allowing remote attackers to execute arbitrary code by leveraging the ability to run arbitrary SQL statements (such as in certain WebSQL use cases), aka Magellan.

CVE-2018-8740 sqlite vulnerability CVSS: 5.0 17 Mar 2018, 00:29 UTC

In SQLite through 3.22.0, databases whose schema is corrupted using a CREATE TABLE AS statement could cause a NULL pointer dereference, related to build.c and prepare.c.

CVE-2017-15286 sqlite vulnerability CVSS: 5.0 12 Oct 2017, 08:29 UTC

SQLite 3.20.1 has a NULL pointer dereference in tableColumnList in shell.c because it fails to consider certain cases where `sqlite3_step(pStmt)==SQLITE_ROW` is false and a data structure is never initialized.

CVE-2017-13685 sqlite vulnerability CVSS: 4.3 29 Aug 2017, 06:29 UTC

The dump_callback function in SQLite 3.20.0 allows remote attackers to cause a denial of service (EXC_BAD_ACCESS and application crash) via a crafted file.

CVE-2017-10989 sqlite vulnerability CVSS: 7.5 07 Jul 2017, 12:29 UTC

The getNodeSize function in ext/rtree/rtree.c in SQLite through 3.19.3, as used in GDAL and other products, mishandles undersized RTree blobs in a crafted database, leading to a heap-based buffer over-read or possibly unspecified other impact.

CVE-2016-6153 sqlite vulnerability CVSS: 4.6 26 Sep 2016, 16:59 UTC

os_unix.c in SQLite before 3.13.0 improperly implements the temporary directory search algorithm, which might allow local users to obtain sensitive information, cause a denial of service (application crash), or have unspecified other impact by leveraging use of the current working directory for temporary files.

CVE-2015-6607 sqlite vulnerability CVSS: 6.8 06 Oct 2015, 17:59 UTC

SQLite before 3.8.9, as used in Android before 5.1.1 LMY48T, allows attackers to gain privileges via a crafted application, aka internal bug 20099586.

CVE-2015-5895 sqlite vulnerability CVSS: 10.0 18 Sep 2015, 12:00 UTC

Multiple unspecified vulnerabilities in SQLite before 3.8.10.2, as used in Apple iOS before 9, have unknown impact and attack vectors.

CVE-2013-7443 sqlite vulnerability CVSS: 5.0 12 Aug 2015, 14:59 UTC

Buffer overflow in the skip-scan optimization in SQLite 3.8.2 allows remote attackers to cause a denial of service (crash) via crafted SQL statements.

CVE-2015-3717 sqlite vulnerability CVSS: 7.5 03 Jul 2015, 02:00 UTC

Multiple buffer overflows in the printf functionality in SQLite, as used in Apple iOS before 8.4 and OS X before 10.10.4, allow remote attackers to execute arbitrary code or cause a denial of service (application crash) via unspecified vectors.

CVE-2015-3416 sqlite vulnerability CVSS: 7.5 24 Apr 2015, 17:59 UTC

The sqlite3VXPrintf function in printf.c in SQLite before 3.8.9 does not properly handle precision and width values during floating-point conversions, which allows context-dependent attackers to cause a denial of service (integer overflow and stack-based buffer overflow) or possibly have unspecified other impact via large integers in a crafted printf function call in a SELECT statement.

CVE-2015-3415 sqlite vulnerability CVSS: 7.5 24 Apr 2015, 17:59 UTC

The sqlite3VdbeExec function in vdbe.c in SQLite before 3.8.9 does not properly implement comparison operators, which allows context-dependent attackers to cause a denial of service (invalid free operation) or possibly have unspecified other impact via a crafted CHECK clause, as demonstrated by CHECK(0&O>O) in a CREATE TABLE statement.

CVE-2015-3414 sqlite vulnerability CVSS: 7.5 24 Apr 2015, 17:59 UTC

SQLite before 3.8.9 does not properly implement the dequoting of collation-sequence names, which allows context-dependent attackers to cause a denial of service (uninitialized memory access and application crash) or possibly have unspecified other impact via a crafted COLLATE clause, as demonstrated by COLLATE"""""""" at the end of a SELECT statement.

CVE-2008-6593 sqlite vulnerability CVSS: 7.5 03 Apr 2009, 18:30 UTC

SQL injection vulnerability in LightNEasy/lightneasy.php in LightNEasy SQLite 1.2.2 and earlier allows remote attackers to inject arbitrary PHP code into comments.dat via the dlid parameter to index.php.

CVE-2008-6592 sqlite vulnerability CVSS: 7.5 03 Apr 2009, 18:30 UTC

thumbsup.php in Thumbs-Up 1.12, as used in LightNEasy "no database" (aka flat) and SQLite 1.2.2 and earlier, allows remote attackers to copy, rename, and read arbitrary files via directory traversal sequences in the image parameter with a modified cache_dir parameter containing a %00 (encoded null byte).

CVE-2008-6590 sqlite vulnerability CVSS: 5.0 03 Apr 2009, 18:30 UTC

Multiple directory traversal vulnerabilities in LightNEasy "no database" (aka flat) version 1.2.2, and possibly SQLite version 1.2.2, allow remote attackers to read arbitrary files via a .. (dot dot) in the page parameter to (1) index.php and (2) LightNEasy.php.

CVE-2008-6589 sqlite vulnerability CVSS: 4.3 03 Apr 2009, 18:30 UTC

Multiple cross-site scripting (XSS) vulnerabilities in LightNEasy "no database" (aka flat) version 1.2.2, and possibly SQLite version 1.2.2, allow remote attackers to inject arbitrary web script or HTML via the page parameter to (1) index.php and (2) LightNEasy.php.