![]() |
|
Message-ID: <e183318c-31b7-433d-91b9-b4a2699d9538@oracle.com> Date: Fri, 5 Sep 2025 17:25:03 -0700 From: Alan Coopersmith <alan.coopersmith@...cle.com> To: oss-security@...ts.openwall.com Subject: SQLite: Integer truncation in findOrCreateAggInfoColumn [CVE-2025-6965] https://sqlite.org/cves.html lists CVE-2025-6965 as fixed in 3.50.2 (released 2025-06-28) with the description of "An attacker who can inject arbitrary SQL statements into an application might be able to cause an integer overflow resulting in a read off the end of an array." and points to https://sqlite.org/src/info/5508b56fd24016c1 for the fix. More recently, Google Security Research released their report at https://github.com/google/security-research/security/advisories/GHSA-qj7j-3jp8-8ccv which states: > Summary > ------- > An integer truncation vulnerability exists in SQLite's handling of > aggregate queries with a very large number of distinct column > references. When the number of columns processed in an aggregate > context exceeds 32,767, the index used to track these columns is > truncated from a 32-bit integer to a signed 16-bit integer, resulting > in a negative value. > > Severity > -------- > High - The exploitation of this vulnerability can lead to remote code > execution and potential for significant damage. > > Vulnerability Details > --------------------- > > An integer truncation vulnerability exists in SQLite's handling of > aggregate queries with a very large number of distinct column > references. When the number of columns processed in an aggregate > context exceeds 32,767, the index used to track these columns is > truncated from a 32-bit integer to a signed 16-bit integer, resulting > in a negative value [1]. > > In debug builds, this invalid value leads to assertion failures > [2][4]. In non-debug builds, the corrupted index is later used to > access an array, leading to a heap-buffer-overflow. In sqlite3ExprCodeTarget, > the out-of-bounds values are used to construct a potentially invalid > VDBE instruction. In agginfoPersistExprCb, the out-of-bounds index > read from an array [5] is followed by an out-of-bounds write to the > same index [6], leading to memory corruption. > > Timeline > -------- > Date reported: 2025-06-28 > Date fixed: 2025-06-30 > Date disclosed: 2025-08-25 [See the above URL for the code excerpt that the [...] references point to and for further analysis.] -- -Alan Coopersmith- alan.coopersmith@...cle.com Oracle Solaris Engineering - https://blogs.oracle.com/solaris
Powered by blists - more mailing lists
Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.