CodeQL 2.25.5 (2026-05-21)¶
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.25.5 runs a total of 496 security queries when configured with the Default suite (covering 169 CWE). The Extended suite enables an additional 131 queries (covering 32 more CWE).
CodeQL CLI¶
There are no user-facing CLI changes in this release.
Query Packs¶
Bug Fixes¶
GitHub Actions¶
Fixed help file descriptions for queries:
actions/untrusted-checkout/critical,actions/untrusted-checkout/high,actions/untrusted-checkout/medium. Previously the messages were unclear as to why and how the vulnerabilities could occur.
Minor Analysis Improvements¶
C/C++¶
The ‘Cleartext transmission of sensitive information’ query (
cpp/cleartext-transmission) no longer raises an alert on calls tofscanf(and variants) when the call reads from an “obviously local”FILEstream such asstdin.
Java/Kotlin¶
The
java/zipslipquery no longer reports archive entry names that flow only to read-only path sinks such asClassLoader.getResource,FileInputStream, andFileReader. The query now restricts its sinks to thepath-injectionkind and deliberately excludes the newpath-injection[read]sub-kind, matching the Zip Slip threat model of unsafe archive extraction.
GitHub Actions¶
The
actions/unpinned-tagquery now analyzes composite action metadata (action.yml/action.yamlfiles) in addition to workflow files, providing more comprehensive detection of unpinned action references across the entire Actions ecosystem.
Query Metadata Changes¶
GitHub Actions¶
Adjusted the name of
actions/untrusted-checkout/highto more clearly describe which parts of the scenario are in a privileged context.
Language Libraries¶
Minor Analysis Improvements¶
C/C++¶
The
RemoteFlowSourceFunctionmodel forfscanf(and variants) now implementshasSocketInputto reflect that these functions may read from a socket.
Java/Kotlin¶
Introduced a new sink kind
path-injection[read]for Models-as-Data rows that only read from a path (such asClassLoader.getResource,FileInputStream,FileReader,Files.readAllBytes, and related APIs). The generaljava/path-injectionquery continues to consider bothpath-injectionandpath-injection[read]sinks.
GitHub Actions¶
Altered 2 patterns in the
poisonable_stepsmodelling. Extra sinks are detected in the following cases: scripts executed via python modules andgo runin directories are detected as potential mechanisms of injection. For the go execution pattern, the pattern is updated to now ignore flags that occur between go and the specific command. This change may lead to more results being detected by the following queries:actions/untrusted-checkout/high,actions/untrusted-checkout/critical,actions/untrusted-checkout-toctou/high,actions/untrusted-checkout-toctou/critical,actions/cache-poisoning/poisonable-step,actions/cache-poisoning/direct-cacheandactions/artifact-poisoning/path-traversal.
New Features¶
Swift¶
The
TypeDeclclass now defines agetDeclaredInterfaceTypepredicate, which yields the declared interface type of the type declaration.