In SQLite 3.44.0 through 3.49.0 before 3.49.1, the concat_ws() SQL function can cause memory to be written beyond the end of a malloc-allocated buffer. If the separator argument is attacker-controlled and has a large string (e.g., 2MB or more), an integer overflow occurs in calculating the size of the result buffer, and thus malloc may not allocate enough memory.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "3.46.1-3", "binary_name": "lemon" }, { "binary_version": "3.46.1-3", "binary_name": "lemon-dbgsym" }, { "binary_version": "3.46.1-3", "binary_name": "libsqlite3-0" }, { "binary_version": "3.46.1-3", "binary_name": "libsqlite3-0-dbgsym" }, { "binary_version": "3.46.1-3", "binary_name": "libsqlite3-dev" }, { "binary_version": "3.46.1-3", "binary_name": "libsqlite3-ext-csv" }, { "binary_version": "3.46.1-3", "binary_name": "libsqlite3-ext-csv-dbgsym" }, { "binary_version": "3.46.1-3", "binary_name": "libsqlite3-ext-icu" }, { "binary_version": "3.46.1-3", "binary_name": "libsqlite3-ext-icu-dbgsym" }, { "binary_version": "3.46.1-3", "binary_name": "libsqlite3-tcl" }, { "binary_version": "3.46.1-3", "binary_name": "libsqlite3-tcl-dbgsym" }, { "binary_version": "3.46.1-3", "binary_name": "sqlite3" }, { "binary_version": "3.46.1-3", "binary_name": "sqlite3-dbgsym" }, { "binary_version": "3.46.1-3", "binary_name": "sqlite3-doc" }, { "binary_version": "3.46.1-3", "binary_name": "sqlite3-tools" }, { "binary_version": "3.46.1-3", "binary_name": "sqlite3-tools-dbgsym" } ] }