In SQLite 3.49.0 before 3.49.1, certain argument values to sqlite3_db_config (in the C-language API) can cause a denial of service (application crash). An sz*nBig multiplication is not cast to a 64-bit integer, and consequently some memory allocations may be incorrect.
The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.
The product does not properly control the allocation and maintenance of a limited resource.
Link | Tags |
---|---|
https://www.sqlite.org/cves.html | vendor advisory |
https://sqlite.org/forum/forumpost/48f365daec | third party advisory |
https://github.com/sqlite/sqlite/commit/56d2fd008b108109f489339f5fd55212bb50afd4 | patch |
https://gist.github.com/ylwango613/d3883fb9f6ba8a78086356779ce88248 | third party advisory |
https://sqlite.org/releaselog/3_49_1.html | release notes |