CodeQL 2.23.6 (2025-11-24)¶
This is an overview of changes in the CodeQL CLI and relevant CodeQL query and library packs. For additional updates on changes to the CodeQL code scanning experience, check out the code scanning section on the GitHub blog, relevant GitHub Changelog updates, changes in the CodeQL extension for Visual Studio Code, and the CodeQL Action changelog.
Security Coverage¶
CodeQL 2.23.6 runs a total of 485 security queries when configured with the Default suite (covering 166 CWE). The Extended suite enables an additional 135 queries (covering 35 more CWE). 2 security queries have been added with this release.
CodeQL CLI¶
Breaking Changes¶
The LGTM results format for uploading to LGTM has been removed.
Query Packs¶
Minor Analysis Improvements¶
C#¶
An improvement to the Guards library for recognizing disjunctions means improved precision for
cs/constant-condition,cs/inefficient-containskey, andcs/dereferenced-value-may-be-null. The two former can have additional findings, and the latter will have fewer false positives.
Rust¶
Taint flow barriers have been added to the
rust/regex-injection,rust/sql-injectionandrust/log-injection, reducing the frequency of false positive results for these queries.
New Queries¶
C#¶
The
cs/web/cookie-secure-not-setandcs/web/cookie-httponly-not-setqueries have been promoted from experimental to the main query pack.
Query Metadata Changes¶
Java/Kotlin¶
Reduced the
security-severityscore of thejava/overly-large-rangequery from 5.0 to 4.0 to better reflect its impact.Reduced the
security-severityscore of thejava/insecure-cookiequery from 5.0 to 4.0 to better reflect its impact.
JavaScript/TypeScript¶
Increased the
security-severityscore of thejs/xss-through-domquery from 6.1 to 7.8 to align with other XSS queries.Reduced the
security-severityscore of thejs/overly-large-rangequery from 5.0 to 4.0 to better reflect its impact.
Python¶
Reduced the
security-severityscore of thepy/overly-large-rangequery from 5.0 to 4.0 to better reflect its impact.
Ruby¶
Reduced the
security-severityscore of therb/overly-large-rangequery from 5.0 to 4.0 to better reflect its impact.
Language Libraries¶
Bug Fixes¶
C/C++¶
Improve performance of the range analysis in cases where it would otherwise take an exorbitant amount of time.
Golang¶
Some fixes relating to use of path transformers when extracting a database:
Fixed a problem where the path transformer would be ignored when extracting older codebases that predate the use of Go modules.
The environment variable
CODEQL_PATH_TRANSFORMERis now recognized, in addition toSEMMLE_PATH_TRANSFORMER.Fixed some cases where the extractor emitted paths without applying the path transformer.
Breaking Changes¶
Python¶
The classes
ControlFlowNode,Expr, andModuleno longer expose predicates that invoke the points-to analysis. To access these predicates, import the moduleLegacyPointsToand follow the instructions given therein.
Major Analysis Improvements¶
Swift¶
Upgraded to allow analysis of Swift 6.2.1.
Minor Analysis Improvements¶
C#¶
Updated roslyn and binlog dependencies in the extractor, which may improve database and analysis quality.
Rust¶
Added models for cookie methods in the
poemcrate.
Deprecated APIs¶
C#¶
ControlFlowElement.controlsBlockhas been deprecated in favor of the Guards library.
New Features¶
C/C++¶
New predicates
getAnExpandedArgumentandgetExpandedArgumentwere added to theCompilationclass, yielding compilation arguments after expansion of response files.
C#¶
Initial support for incremental C# databases via
codeql database create --overlay-base/--overlay-changes.