CodeQL 2.26.2 (2026-07-23)¶
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.26.2 runs a total of 497 security queries when configured with the Default suite (covering 170 CWE). The Extended suite enables an additional 131 queries (covering 32 more CWE).
CodeQL CLI¶
Breaking Changes¶
Removed support for parsing
[[-style links in alert messages. This was an undocumented legacy feature that allowed query authors to embed links inline in select clause message strings using[["text"|"url"]]syntax. Queries should use$@placeholder pairs instead.
Query Packs¶
Minor Analysis Improvements¶
C#¶
System.Web.HttpRequest.RawUrlis no longer treated as a sanitizer forcs/web/unvalidated-url-redirection, since it contains the un-normalized request line. This may lead to more results.
Query Metadata Changes¶
C/C++¶
Added the tag
external/cwe/cwe-762tocpp/new-free-mismatch, and removed the tagexternal/cwe/cwe-401. This better matches the behavior of the query.
C#¶
The query
cs/useless-assignment-to-localhas been removed from thecode-qualitysuite, but it remains in thecode-quality-extendedsuite.
Language Libraries¶
Major Analysis Improvements¶
Swift¶
Upgraded to allow analysis of Swift 6.3.3.
Minor Analysis Improvements¶
Golang¶
The function
Relinpath/filepathwas incorrectly considered a sanitizer forgo/path-injectionandgo/zipslip. This has now been fixed, which may lead to more results for those queries.
Java/Kotlin¶
Kotlin versions up to 2.4.10 are now supported.
java.io.File.getName()is no longer treated as a complete sanitizer forjava/path-injection, since it does not remove a..path component (for examplenew File("..").getName()returns".."). It is now only recognized as a sanitizer when combined with a subsequent check for..components, which may result in new alerts.
GitHub Actions¶
Altered the logic of
EnvironmentCheckto make sure it is a check that protects only for non-toctou. This change will result in more results being found by the queries:actions/untrusted-checkout-toctou/highandactions/untrusted-checkout-toctou/critical.