CVE-2025-7709
Out Of Bounds write in FTS5 Extension in SQLite
An integer overflow exists in the FTS5 https://sqlite.org/fts5.html extension. It occurs when the size of an array of tombstone pointers is calculated and truncated into a 32-bit integer. A pointer to partially controlled data can then be written out of bounds.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- Active
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
6.9
Out Of Bounds write in FTS5 Extension in SQLite
An integer overflow exists in the FTS5 https://sqlite.org/fts5.html extension. It occurs when the size of an array of tombstone pointers is calculated and truncated into a 32-bit integer. A pointer to partially controlled data can then be written out of bounds.
- Record
CVE-2025-7709- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:A/VC:N/VI:H/VA:L/SC:N/SI:H/SA:L - Weakness
- CWE-190
- Updated
- 2026-11-02
EUVDEUVD-2025-27137
6.9
An integer overflow exists in the FTS5 https://sqlite.org/fts5.html extension. It occurs when the size of an array of tombstone pointers is calculated and truncated into a 32-bit integer. A pointer to partially controlled data can then be written out of bounds.
- Record
EUVD-2025-27137- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:A/VC:N/VI:H/VA:L/SC:N/SI:H/SA:L - Updated
- 2026-11-02
NVD
6.9
An integer overflow exists in the FTS5 https://sqlite.org/fts5.html extension. It occurs when the size of an array of tombstone pointers is calculated and truncated into a 32-bit integer. A pointer to partially controlled data can then be written out of bounds.
- Record
CVE-2025-7709- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:A/VC:N/VI:H/VA:L/SC:N/SI:H/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-190
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2025-7709
6.9
An integer overflow exists in the FTS5 https://sqlite.org/fts5.html extension. It occurs when the size of an array of tombstone pointers is calculated and truncated into a 32-bit integer. A pointer to partially controlled data can then be written out of bounds.
- Record
DEBIAN-CVE-2025-7709- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:A/VC:N/VI:H/VA:L/SC:N/SI:H/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Updated
- 2026-11-02
OSVUBUNTU-CVE-2025-7709
6.9
An integer overflow exists in the FTS5 https://sqlite.org/fts5.html extension. It occurs when the size of an array of tombstone pointers is calculated and truncated into a 32-bit integer. A pointer to partially controlled data can then be written out of bounds.
- Record
UBUNTU-CVE-2025-7709- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:A/VC:N/VI:H/VA:L/SC:N/SI:H/SA:L - Updated
- 2026-11-02
OSV No score
An integer overflow exists in the FTS5 https://sqlite.org/fts5.html extension. It occurs when the size of an array of tombstone pointers is calculated and truncated into a 32-bit integer. A pointer to partially controlled data can then be written out of bounds.
- Record
CVE-2025-7709- Updated
- 2026-11-02
Show 13 moreShow less
OSVopenSUSE-SU-2026:10171-1 No score
lemon-3.51.2-1.1 on GA media
These are all security issues fixed in the lemon-3.51.2-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:10171-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:20513-1 No score
Security update for sqlite3
This update for sqlite3 fixes the following issues:
Update sqlite3 to version 3.51.3:
Security issues:
- CVE-2025-7709: Integer Overflow in FTS5 Extension (bsc#1254670).
- CVE-2025-70873: SQLite zipfile extension may disclose uninitialized heap memory during inflation (bsc#1259619).
Non security issue:
- sqlite3 won't build when using --with icu (bsc#1248586).
Changelog:
Update to version 3.51.3:
- Fix the WAL-reset database corruption bug: https://sqlite.org/wal.html#walresetbug
- Other minor bug fixes.
Update to version 3.51.2:
- Fix an obscure deadlock in the new broken-posix-lock detection logic.
- Fix multiple problems in the EXISTS-to-JOIN optimization.
Update to version 3.51.1:
- Fix incorrect results from nested EXISTS queries caused by the optimization in item 6b in the 3.51.0 release.
- Fix a latent bug in fts5vocab virtual table, exposed by new optimizations in the 3.51.0 release
Update to version 3.51.0:
- New macros in sqlite3.h:
- SQLITE_SCM_BRANCH -> the name of the branch from which the source code is taken.
- SQLITE_SCM_TAGS -> space-separated list of tags on the source code check-in.
- SQLITE_SCM_DATETIME -> ISO-8601 date and time of the source
- Two new JSON functions, jsonb_each() and jsonb_tree() work the same as the existing json_each() and json_tree() functions except that they return JSONB for the "value" column when the "type" is 'array' or 'object'.
- The carray and percentile extensions are now built into the amalgamation, though they are disabled by default and must be activated at compile-time using the -DSQLITE_ENABLE_CARRAY and/or -DSQLITE_ENABLE_PERCENTILE options, respectively.
- Enhancements to TCL Interface:
- Add the -asdict flag to the eval command to have it set the row data as a dict instead of an array.
- User-defined functions may now break to return an SQL NULL.
- CLI enhancements:
- Increase the precision of ".timer" to microseconds.
- Enhance the "box" and "column" formatting modes to deal with double-wide characters.
- The ".imposter" command provides read-only imposter tables that work with VACUUM and do not require the --unsafe-testing option.
- Add the --ifexists option to the CLI command-line option and to the .open command.
- Limit columns widths set by the ".width" command to 30,000 or less, as there is not good reason to have wider columns, but supporting wider columns provides opportunity to malefactors.
- Performance enhancements:
- Use fewer CPU cycles to commit a read transaction.
- Early detection of joins that return no rows due to one or more of the tables containing no rows.
- Avoid evaluation of scalar subqueries if the result of the subquery does not change the result of the overall expression.
- Faster window function queries when using "BETWEEN :x FOLLOWING AND :y FOLLOWING" with a large :y.
- Add the PRAGMA wal_checkpoint=NOOP; command and the SQLITE_CHECKPOINT_NOOP argument for sqlite3_wal_checkpoint_v2().
- Add the sqlite3_set_errmsg() API for use by extensions.
- Add the sqlite3_db_status64() API, which works just like the existing sqlite3_db_status() API except that it returns 64-bit results.
- Add the SQLITE_DBSTATUS_TEMPBUF_SPILL option to the sqlite3_db_status() and sqlite3_db_status64() interfaces.
- In the session extension add the sqlite3changeset_apply_v3() interface.
- For the built-in printf() and the format() SQL function, omit the leading '-' from negative floating point numbers if the '+' flag is omitted and the "#" flag is present and all displayed digits are '0'. Use '%#f' or similar to avoid outputs like '-0.00' and instead show just '0.00'.
- Improved error messages generated by FTS5.
- Enforce STRICT typing on computed columns.
- Improved support for VxWorks
- JavaScript/WASM now supports 64-bit WASM. The canonical builds continue to be 32-bit but creating one's own 64-bit build is now as simple as running "make".
- Improved resistance to database…
- Record
openSUSE-SU-2026:20513-1- Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-12-CVE-2025-7709 No score
CVE-2025-7709 in sqlite3 - Patched by Root
Root has patched CVE-2025-7709 in the sqlite3 package for Root:Debian:12. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-12-CVE-2025-7709- Updated
- 2026-11-03
OSVROOT-OS-DEBIAN-13-CVE-2025-7709 No score
CVE-2025-7709 in rootio-sqlite3 - Patched by Root
Root has patched CVE-2025-7709 in the rootio-sqlite3 package for Root:Debian:13. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-13-CVE-2025-7709- Updated
- 2026-11-02
OSVSUSE-SU-2026:0395-1 No score
Security update for sqlite3
This update for sqlite3 fixes the following issues:
- Update to v3.51.2:
- CVE-2025-7709: Fixed an integer overflow in the FTS5 extension. (bsc#1254670)
- Record
SUSE-SU-2026:0395-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:0432-1 No score
Security update for sqlite3
This update for sqlite3 fixes the following issues:
- Update to v3.51.2:
- CVE-2025-7709: Fixed an integer overflow in the FTS5 extension. (bsc#1254670)
- Record
SUSE-SU-2026:0432-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:0955-1 No score
Security update for sqlite3
This update for sqlite3 fixes the following issues:
Update to 3.51.3:
- CVE-2025-7709: Integer Overflow in FTS5 Extension (bsc#1254670).
- CVE-2025-70873: SQLite zipfile extension may disclose uninitialized heap memory during inflation (bsc#1259619).
Changelog:
- Fix the WAL-reset database corruption bug: https://sqlite.org/wal.html#walresetbug
- Record
SUSE-SU-2026:0955-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:1065-1 No score
Security update for sqlite3
This update for sqlite3 fixes the following issues:
Update sqlite3 to 3.51.3:
- CVE-2025-7709: Integer Overflow in FTS5 Extension (bsc#1254670).
- CVE-2025-70873: SQLite zipfile extension may disclose uninitialized heap memory during inflation (bsc#1259619).
Changelog:
- Fix the WAL-reset database corruption bug: https://sqlite.org/wal.html#walresetbug
- Record
SUSE-SU-2026:1065-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:20771-1 No score
Security update for sqlite3
This update for sqlite3 fixes the following issues:
Update to sqlite3 3.51.3:
- CVE-2025-7709: Integer Overflow in FTS5 Extension (bsc#1254670).
- CVE-2025-70873: SQLite zipfile extension may disclose uninitialized heap memory during inflation (bsc#1259619).
Changelog:
Update to version 3.51.3:
- Fix the WAL-reset database corruption bug: https://sqlite.org/wal.html#walresetbug
- Other minor bug fixes.
Update to version 3.51.2:
- Fix an obscure deadlock in the new broken-posix-lock detection logic.
- Fix multiple problems in the EXISTS-to-JOIN optimization.
Update to version 3.51.1:
- Fix incorrect results from nested EXISTS queries caused by the optimization in item 6b in the 3.51.0 release.
- Fix a latent bug in fts5vocab virtual table, exposed by new optimizations in the 3.51.0 release
Update to version 3.51.0:
- New macros in sqlite3.h:
- SQLITE_SCM_BRANCH -> the name of the branch from which the source code is taken.
- SQLITE_SCM_TAGS -> space-separated list of tags on the source code check-in.
- SQLITE_SCM_DATETIME -> ISO-8601 date and time of the source
- Two new JSON functions, jsonb_each() and jsonb_tree() work the same as the existing json_each() and json_tree() functions except that they return JSONB for the "value" column when the "type" is 'array' or 'object'.
- The carray and percentile extensions are now built into the amalgamation, though they are disabled by default and must be activated at compile-time using the -DSQLITE_ENABLE_CARRAY and/or -DSQLITE_ENABLE_PERCENTILE options, respectively.
- Enhancements to TCL Interface:
- Add the -asdict flag to the eval command to have it set the row data as a dict instead of an array.
- User-defined functions may now break to return an SQL NULL.
- CLI enhancements:
- Increase the precision of ".timer" to microseconds.
- Enhance the "box" and "column" formatting modes to deal with double-wide characters.
- The ".imposter" command provides read-only imposter tables that work with VACUUM and do not require the --unsafe-testing option.
- Add the --ifexists option to the CLI command-line option and to the .open command.
- Limit columns widths set by the ".width" command to 30,000 or less, as there is not good reason to have wider columns, but supporting wider columns provides opportunity to malefactors.
- Performance enhancements:
- Use fewer CPU cycles to commit a read transaction.
- Early detection of joins that return no rows due to one or more of the tables containing no rows.
- Avoid evaluation of scalar subqueries if the result of the subquery does not change the result of the overall expression.
- Faster window function queries when using "BETWEEN :x FOLLOWING AND :y FOLLOWING" with a large :y.
- Add the PRAGMA wal_checkpoint=NOOP; command and the SQLITE_CHECKPOINT_NOOP argument for sqlite3_wal_checkpoint_v2().
- Add the sqlite3_set_errmsg() API for use by extensions.
- Add the sqlite3_db_status64() API, which works just like the existing sqlite3_db_status() API except that it returns 64-bit results.
- Add the SQLITE_DBSTATUS_TEMPBUF_SPILL option to the sqlite3_db_status() and sqlite3_db_status64() interfaces.
- In the session extension add the sqlite3changeset_apply_v3() interface.
- For the built-in printf() and the format() SQL function, omit the leading '-' from negative floating point numbers if the '+' flag is omitted and the "#" flag is present and all displayed digits are '0'. Use '%#f' or similar to avoid outputs like '-0.00' and instead show just '0.00'.
- Improved error messages generated by FTS5.
- Enforce STRICT typing on computed columns.
- Improved support for VxWorks
- JavaScript/WASM now supports 64-bit WASM. The canonical builds continue to be 32-bit but creating one's own 64-bit build is now as simple as running "make".
- Record
SUSE-SU-2026:20771-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:20794-1 No score
Security update for sqlite3
This update for sqlite3 fixes the following issues:
Update to version 3.51.3:
- CVE-2025-7709: Integer Overflow in FTS5 Extension (bsc#1254670).
- CVE-2025-70873: SQLite zipfile extension may disclose uninitialized heap memory during inflation (bsc#1259619).
Changelog:
Update to version 3.51.3:
- Fix the WAL-reset database corruption bug: https://sqlite.org/wal.html#walresetbug
- Other minor bug fixes.
Update to version 3.51.2:
- Fix an obscure deadlock in the new broken-posix-lock detection logic.
- Fix multiple problems in the EXISTS-to-JOIN optimization.
Update to version 3.51.1:
- Fix incorrect results from nested EXISTS queries caused by the optimization in item 6b in the 3.51.0 release.
- Fix a latent bug in fts5vocab virtual table, exposed by new optimizations in the 3.51.0 release
Update to version 3.51.0:
- New macros in sqlite3.h:
- SQLITE_SCM_BRANCH -> the name of the branch from which the source code is taken.
- SQLITE_SCM_TAGS -> space-separated list of tags on the source code check-in.
- SQLITE_SCM_DATETIME -> ISO-8601 date and time of the source
- Two new JSON functions, jsonb_each() and jsonb_tree() work the same as the existing json_each() and json_tree() functions except that they return JSONB for the "value" column when the "type" is 'array' or 'object'.
- The carray and percentile extensions are now built into the amalgamation, though they are disabled by default and must be activated at compile-time using the -DSQLITE_ENABLE_CARRAY and/or -DSQLITE_ENABLE_PERCENTILE options, respectively.
- Enhancements to TCL Interface:
- Add the -asdict flag to the eval command to have it set the row data as a dict instead of an array.
- User-defined functions may now break to return an SQL NULL.
- CLI enhancements:
- Increase the precision of ".timer" to microseconds.
- Enhance the "box" and "column" formatting modes to deal with double-wide characters.
- The ".imposter" command provides read-only imposter tables that work with VACUUM and do not require the --unsafe-testing option.
- Add the --ifexists option to the CLI command-line option and to the .open command.
- Limit columns widths set by the ".width" command to 30,000 or less, as there is not good reason to have wider columns, but supporting wider columns provides opportunity to malefactors.
- Performance enhancements:
- Use fewer CPU cycles to commit a read transaction.
- Early detection of joins that return no rows due to one or more of the tables containing no rows.
- Avoid evaluation of scalar subqueries if the result of the subquery does not change the result of the overall expression.
- Faster window function queries when using "BETWEEN :x FOLLOWING AND :y FOLLOWING" with a large :y.
- Add the PRAGMA wal_checkpoint=NOOP; command and the SQLITE_CHECKPOINT_NOOP argument for sqlite3_wal_checkpoint_v2().
- Add the sqlite3_set_errmsg() API for use by extensions.
- Add the sqlite3_db_status64() API, which works just like the existing sqlite3_db_status() API except that it returns 64-bit results.
- Add the SQLITE_DBSTATUS_TEMPBUF_SPILL option to the sqlite3_db_status() and sqlite3_db_status64() interfaces.
- In the session extension add the sqlite3changeset_apply_v3() interface.
- For the built-in printf() and the format() SQL function, omit the leading '-' from negative floating point numbers if the '+' flag is omitted and the "#" flag is present and all displayed digits are '0'. Use '%#f' or similar to avoid outputs like '-0.00' and instead show just '0.00'.
- Improved error messages generated by FTS5.
- Enforce STRICT typing on computed columns.
- Improved support for VxWorks
- JavaScript/WASM now supports 64-bit WASM. The canonical builds continue to be 32-bit but creating one's own 64-bit build is now as simple as running "make".
- Record
SUSE-SU-2026:20794-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:21095-1 No score
Security update for sqlite3
This update for sqlite3 fixes the following issues:
Update sqlite3 to version 3.51.3:
Security issues:
- CVE-2025-7709: Integer Overflow in FTS5 Extension (bsc#1254670).
- CVE-2025-70873: SQLite zipfile extension may disclose uninitialized heap memory during inflation (bsc#1259619).
Non security issue:
- sqlite3 won't build when using --with icu (bsc#1248586).
Changelog:
Update to version 3.51.3:
- Fix the WAL-reset database corruption bug: https://sqlite.org/wal.html#walresetbug
- Other minor bug fixes.
Update to version 3.51.2:
- Fix an obscure deadlock in the new broken-posix-lock detection logic.
- Fix multiple problems in the EXISTS-to-JOIN optimization.
Update to version 3.51.1:
- Fix incorrect results from nested EXISTS queries caused by the optimization in item 6b in the 3.51.0 release.
- Fix a latent bug in fts5vocab virtual table, exposed by new optimizations in the 3.51.0 release
Update to version 3.51.0:
- New macros in sqlite3.h:
- SQLITE_SCM_BRANCH -> the name of the branch from which the source code is taken.
- SQLITE_SCM_TAGS -> space-separated list of tags on the source code check-in.
- SQLITE_SCM_DATETIME -> ISO-8601 date and time of the source
- Two new JSON functions, jsonb_each() and jsonb_tree() work the same as the existing json_each() and json_tree() functions except that they return JSONB for the "value" column when the "type" is 'array' or 'object'.
- The carray and percentile extensions are now built into the amalgamation, though they are disabled by default and must be activated at compile-time using the -DSQLITE_ENABLE_CARRAY and/or -DSQLITE_ENABLE_PERCENTILE options, respectively.
- Enhancements to TCL Interface:
- Add the -asdict flag to the eval command to have it set the row data as a dict instead of an array.
- User-defined functions may now break to return an SQL NULL.
- CLI enhancements:
- Increase the precision of ".timer" to microseconds.
- Enhance the "box" and "column" formatting modes to deal with double-wide characters.
- The ".imposter" command provides read-only imposter tables that work with VACUUM and do not require the --unsafe-testing option.
- Add the --ifexists option to the CLI command-line option and to the .open command.
- Limit columns widths set by the ".width" command to 30,000 or less, as there is not good reason to have wider columns, but supporting wider columns provides opportunity to malefactors.
- Performance enhancements:
- Use fewer CPU cycles to commit a read transaction.
- Early detection of joins that return no rows due to one or more of the tables containing no rows.
- Avoid evaluation of scalar subqueries if the result of the subquery does not change the result of the overall expression.
- Faster window function queries when using "BETWEEN :x FOLLOWING AND :y FOLLOWING" with a large :y.
- Add the PRAGMA wal_checkpoint=NOOP; command and the SQLITE_CHECKPOINT_NOOP argument for sqlite3_wal_checkpoint_v2().
- Add the sqlite3_set_errmsg() API for use by extensions.
- Add the sqlite3_db_status64() API, which works just like the existing sqlite3_db_status() API except that it returns 64-bit results.
- Add the SQLITE_DBSTATUS_TEMPBUF_SPILL option to the sqlite3_db_status() and sqlite3_db_status64() interfaces.
- In the session extension add the sqlite3changeset_apply_v3() interface.
- For the built-in printf() and the format() SQL function, omit the leading '-' from negative floating point numbers if the '+' flag is omitted and the "#" flag is present and all displayed digits are '0'. Use '%#f' or similar to avoid outputs like '-0.00' and instead show just '0.00'.
- Improved error messages generated by FTS5.
- Enforce STRICT typing on computed columns.
- Improved support for VxWorks
- JavaScript/WASM now supports 64-bit WASM. The canonical builds continue to be 32-bit but creating one's own 64-bit build is now as simple as running "make".
- Improved resistance to database…
- Record
SUSE-SU-2026:21095-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:21173-1 No score
Security update for sqlite3
This update for sqlite3 fixes the following issues:
Update sqlite3 to version 3.51.3:
Security issues:
- CVE-2025-7709: Integer Overflow in FTS5 Extension (bsc#1254670).
- CVE-2025-70873: SQLite zipfile extension may disclose uninitialized heap memory during inflation (bsc#1259619).
Non security issue:
- sqlite3 won't build when using --with icu (bsc#1248586).
Changelog:
Update to version 3.51.3:
- Fix the WAL-reset database corruption bug: https://sqlite.org/wal.html#walresetbug
- Other minor bug fixes.
Update to version 3.51.2:
- Fix an obscure deadlock in the new broken-posix-lock detection logic.
- Fix multiple problems in the EXISTS-to-JOIN optimization.
Update to version 3.51.1:
- Fix incorrect results from nested EXISTS queries caused by the optimization in item 6b in the 3.51.0 release.
- Fix a latent bug in fts5vocab virtual table, exposed by new optimizations in the 3.51.0 release
Update to version 3.51.0:
- New macros in sqlite3.h:
- SQLITE_SCM_BRANCH -> the name of the branch from which the source code is taken.
- SQLITE_SCM_TAGS -> space-separated list of tags on the source code check-in.
- SQLITE_SCM_DATETIME -> ISO-8601 date and time of the source
- Two new JSON functions, jsonb_each() and jsonb_tree() work the same as the existing json_each() and json_tree() functions except that they return JSONB for the "value" column when the "type" is 'array' or 'object'.
- The carray and percentile extensions are now built into the amalgamation, though they are disabled by default and must be activated at compile-time using the -DSQLITE_ENABLE_CARRAY and/or -DSQLITE_ENABLE_PERCENTILE options, respectively.
- Enhancements to TCL Interface:
- Add the -asdict flag to the eval command to have it set the row data as a dict instead of an array.
- User-defined functions may now break to return an SQL NULL.
- CLI enhancements:
- Increase the precision of ".timer" to microseconds.
- Enhance the "box" and "column" formatting modes to deal with double-wide characters.
- The ".imposter" command provides read-only imposter tables that work with VACUUM and do not require the --unsafe-testing option.
- Add the --ifexists option to the CLI command-line option and to the .open command.
- Limit columns widths set by the ".width" command to 30,000 or less, as there is not good reason to have wider columns, but supporting wider columns provides opportunity to malefactors.
- Performance enhancements:
- Use fewer CPU cycles to commit a read transaction.
- Early detection of joins that return no rows due to one or more of the tables containing no rows.
- Avoid evaluation of scalar subqueries if the result of the subquery does not change the result of the overall expression.
- Faster window function queries when using "BETWEEN :x FOLLOWING AND :y FOLLOWING" with a large :y.
- Add the PRAGMA wal_checkpoint=NOOP; command and the SQLITE_CHECKPOINT_NOOP argument for sqlite3_wal_checkpoint_v2().
- Add the sqlite3_set_errmsg() API for use by extensions.
- Add the sqlite3_db_status64() API, which works just like the existing sqlite3_db_status() API except that it returns 64-bit results.
- Add the SQLITE_DBSTATUS_TEMPBUF_SPILL option to the sqlite3_db_status() and sqlite3_db_status64() interfaces.
- In the session extension add the sqlite3changeset_apply_v3() interface.
- For the built-in printf() and the format() SQL function, omit the leading '-' from negative floating point numbers if the '+' flag is omitted and the "#" flag is present and all displayed digits are '0'. Use '%#f' or similar to avoid outputs like '-0.00' and instead show just '0.00'.
- Improved error messages generated by FTS5.
- Enforce STRICT typing on computed columns.
- Improved support for VxWorks
- JavaScript/WASM now supports 64-bit WASM. The canonical builds continue to be 32-bit but creating one's own 64-bit build is now as simple as running "make".
- Improved resistance to database…
- Record
SUSE-SU-2026:21173-1- Updated
- 2026-11-02
OSVUSN-7751-1 No score
sqlite3 vulnerability
It was discovered that the FTS5 SQLite extension incorrectly calculated certain array lengths. An attacker could use this issue to cause SQLite to crash, resulting in a denial of service, or possibly execute arbitrary code.
- Record
USN-7751-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
sqliteAlpaquita:25 |
3.49.2-r0 up to 3.50.3-r0 | 3.50.3-r0 |
sqliteAlpaquita:stream |
3.49.1-r0 up to 3.50.3-r0 | 3.50.3-r0 |
sqliteBellSoft Hardened Containers:25 |
3.49.2-r0 up to 3.50.3-r0 | 3.50.3-r0 |
sqliteBellSoft Hardened Containers:stream |
3.49.1-r0 up to 3.50.3-r0 | 3.50.3-r0 |
sqlite3Debian:12 |
All versions, plus listed versions 3.40.1-23.40.1-2+deb12u13.40.1-2+deb12u23.42.0-13.43.0-1 Show 24 moreShow less3.43.1-13.43.2-13.44.0-13.44.2-13.45.0-13.45.1-13.45.2-13.45.3-13.45.3-2~exp13.46.0-13.46.1-13.46.1-23.46.1-2~exp3.46.1-33.46.1-43.46.1-53.46.1-63.46.1-73.46.1-83.46.1-93.53.2-13.53.3-13.53.4-13.53.4-2 |
None known |
sqlite3Debian:13 |
before 3.46.1-7+deb13u1, plus listed versions 3.46.1-7 |
3.46.1-7+deb13u1 |
sqlite3Debian:14 |
before 3.46.1-8, plus listed versions 3.46.1-7 |
3.46.1-8 |
sqlite3Root:Debian:12 |
before 3.40.1-2+deb12u2.root.io.8 | 3.40.1-2+deb12u2.root.io.83.40.1-2+deb12u2.root.io.73.40.1-2+deb12u2.root.io.63.40.1-2+deb12u2.root.io.93.40.1-2+deb12u2.root.io.103.40.1-2+deb12u2.aikido.113.40.1-2+deb12u2.aikido.12 |
rootio-sqlite3Root:Debian:12 |
before 3.40.1-2+deb12u2.root.io.8 | 3.40.1-2+deb12u2.root.io.83.40.1-2+deb12u2.root.io.73.40.1-2+deb12u2.root.io.63.40.1-2+deb12u2.root.io.93.40.1-2+deb12u2.root.io.103.40.1-2+deb12u2.aikido.113.40.1-2+deb12u2.aikido.12 |
sqlite3SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 |
before 3.51.2-9.44.1 | 3.51.2-9.44.1 |
Show 21 moreShow less
| Package | Affected | Fixed |
|---|---|---|
sqlite3SUSE:Linux Enterprise Micro 5.3 |
before 3.51.2-150000.3.36.1 | 3.51.2-150000.3.36.1 |
sqlite3SUSE:Linux Enterprise Micro 5.4 |
before 3.51.2-150000.3.36.1 | 3.51.2-150000.3.36.1 |
sqlite3SUSE:Linux Enterprise Micro 5.5 |
before 3.51.2-150000.3.36.1 | 3.51.2-150000.3.36.1 |
sqlite3SUSE:Linux Enterprise Module for Basesystem 15 SP7 |
before 3.51.2-150000.3.36.1 | 3.51.2-150000.3.36.1 |
sqlite3SUSE:Linux Enterprise Micro 5.2 |
before 3.51.2-150000.3.36.1 | 3.51.2-150000.3.36.1 |
sqlite3openSUSE:Leap 15.6 |
before 3.51.2-150000.3.36.1 | 3.51.2-150000.3.36.1 |
sqlite3SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 From an advisory covering 2 CVEs |
before 3.51.3-9.47.1 | 3.51.3-9.47.1 |
sqlite3SUSE:Linux Enterprise Micro 5.3 From an advisory covering 2 CVEs |
before 3.51.3-150000.3.39.1 | 3.51.3-150000.3.39.1 |
sqlite3SUSE:Linux Enterprise Micro 5.4 From an advisory covering 2 CVEs |
before 3.51.3-150000.3.39.1 | 3.51.3-150000.3.39.1 |
sqlite3SUSE:Linux Enterprise Micro 5.5 From an advisory covering 2 CVEs |
before 3.51.3-150000.3.39.1 | 3.51.3-150000.3.39.1 |
sqlite3SUSE:Linux Enterprise Module for Basesystem 15 SP7 From an advisory covering 2 CVEs |
before 3.51.3-150000.3.39.1 | 3.51.3-150000.3.39.1 |
sqlite3SUSE:Linux Enterprise Micro 5.2 From an advisory covering 2 CVEs |
before 3.51.3-150000.3.39.1 | 3.51.3-150000.3.39.1 |
sqlite3openSUSE:Leap 15.6 From an advisory covering 2 CVEs |
before 3.51.3-150000.3.39.1 | 3.51.3-150000.3.39.1 |
sqlite3SUSE:Linux Micro 6.1 From an advisory covering 2 CVEs |
before 3.51.3-slfo.1.1_1.1 | 3.51.3-slfo.1.1_1.1 |
sqlite3SUSE:Linux Micro 6.0 From an advisory covering 2 CVEs |
before 3.51.3-1.1 | 3.51.3-1.1 |
sqlite3SUSE:Linux Micro 6.2 From an advisory covering 2 CVEs |
before 3.51.3-160000.1.1 | 3.51.3-160000.1.1 |
sqlite3SUSE:Linux Enterprise Server 16.0 From an advisory covering 2 CVEs |
before 3.51.3-160000.1.1 | 3.51.3-160000.1.1 |
sqlite3SUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 2 CVEs |
before 3.51.3-160000.1.1 | 3.51.3-160000.1.1 |
sqlite3Ubuntu:24.04:LTS |
before 3.45.1-1ubuntu2.5, plus listed versions 3.42.0-13.44.0-13.44.2-13.45.0-13.45.1-1 Show 5 moreShow less3.45.1-1ubuntu13.45.1-1ubuntu23.45.1-1ubuntu2.13.45.1-1ubuntu2.33.45.1-1ubuntu2.4 |
3.45.1-1ubuntu2.5 |
sqlite3openSUSE:Tumbleweed |
before 3.51.2-1.1 | 3.51.2-1.1 |
sqlite3openSUSE:Leap 16.0 From an advisory covering 2 CVEs |
before 3.51.3-160000.1.1 | 3.51.3-160000.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected | OSV | |
| affected | ||
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-7709 is a medium vulnerability (CVSS 6.9) in Sqlite Fts5, published September 8, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.37%, the 31st percentile. Fixed in sqlite 3.50.3-r0.
References
github.com/google/security-research/security/advisories/GHSA-v2c8-vqqp-hv3g
openwall.com/lists/oss-security/2025/09/06/2
openwall.com/lists/oss-security/2025/11/18/10
docs.bell-sw.com/security/cves/CVE-2025-7709
security-tracker.debian.org/tracker/CVE-2025-7709
suse.com/support/update/announcement/2026/suse-su-20260395-1
Show 16 moreShow less
bugzilla.suse.com/1248586
bugzilla.suse.com/1254670
suse.com/security/cve/CVE-2025-7709
suse.com/support/update/announcement/2026/suse-su-20260432-1
suse.com/support/update/announcement/2026/suse-su-20260955-1
bugzilla.suse.com/1259619
suse.com/security/cve/CVE-2025-70873
suse.com/support/update/announcement/2026/suse-su-20261065-1
suse.com/support/update/announcement/2026/suse-su-202620771-1
suse.com/support/update/announcement/2026/suse-su-202620794-1
suse.com/support/update/announcement/2026/suse-su-202621095-1
bugzilla.suse.com/1252217
suse.com/support/update/announcement/2026/suse-su-202621173-1
ubuntu.com/security/CVE-2025-7709
cve.org/CVERecord?id=CVE-2025-7709
ubuntu.com/security/notices/USN-7751-1
Left out here: the rest of 3 source descriptions. The JSON record has them.