Description
Cancelling a query (e.g. by cancelling the context passed to one of the query methods) during a call to the Scan method of the returned Rows can result in unexpected results if other queries are being made in parallel. This can result in a race condition that may overwrite the expected results with those of another query, causing the call to Scan to return either unexpected results from the other query or an error.
Problem types
CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Product status
Any version before 1.23.12
1.24.0 (semver) before 1.24.6
Credits
Spike Curtis from Coder
References
www.openwall.com/lists/oss-security/2025/08/06/1
groups.google.com/g/golang-announce/c/x5MKroML2yM