CodeQL 2.26.3 improves GitHub Actions queries and JavaScript modeling
CodeQL 2.26.3 adds JavaScript, TypeScript, and Vue source modeling and improves the accuracy of several GitHub Actions queries to enhance the static analysis capabilities of GitHub code scanning.
CodeQL 2.26.3 adds JavaScript, TypeScript, and Vue source modeling and improves the accuracy of several GitHub Actions queries. CodeQL is the static analysis engine behind GitHub code scanning, which helps you find and remediate security issues in your code.
Language and framework support
GitHub Actions
- Analysis now recognizes untrusted data in
github.event.merge_groupfor workflows triggered by themerge_groupevent. - Breaking change: We’ve removed the
codeql.actions.security.SelfHostedQuerymodule because runner labels don’t reliably distinguish self-hosted runners from managed runners. You’ll need to update any custom queries that rely on this module.
JavaScript/TypeScript
- Custom models can now reference specific files using a package name in the form
file:<path>. This lets you define sources and sinks based on a file’s public exports. - We’ve added flow models for Vue’s
ref,shallowRef,toRef,reactive, andcomputedComposition API helpers. - CodeQL now recognizes Vue Router’s
useRoute()Composition API as a client-side remote flow source, including itsquery,params,path,fullPath, andhashmembers. - CodeQL now treats declared
inputsproperties in Sails Action2 controller files as remote flow sources. This may improve results for queries such asjs/path-injection. - Queries using the
responsethreat model now track promise-wrapped client response data into promise fulfillment values. This may improve results for queries such asjs/xss.
C/C++
- We’ve added flow source models for
RegQueryValueand related functions from thewinreg.hWindows header.
Ruby
- We’ve removed library input to vendored gems from the set of taint sources, reducing false positives for several queries when you use vendoring.
Query changes
GitHub Actions
- We’ve improved the accuracy of the
actions/output-clobbering/highquery so it no longer reports simplejqpath filters when their output remains JSON-encoded. We also implemented a fix for a performance issue in this query caused by unescaped regular expression input. - The
actions/cache-poisoning/poisonable-stepandactions/untrusted-checkout/criticalqueries now start paths at the expressions that control untrusted checkouts, making alerts easier to follow. - GitHub Actions queries now correctly classify the
scheduleevent when determining whether a workflow can be externally triggered. - The
actions/envvar-injection/criticalquery now requires the untrusted source and privileged context to originate from the same trigger event. It also no longer treats pull request head labels as injection-capable because they can’t contain newlines. - The
actions/cache-poisoning/code-injection,actions/cache-poisoning/direct-cache, andactions/cache-poisoning/poisonable-stepqueries now account for read-only cache access on low-trust triggers running in the default branch scope. They retain results only for triggers that GitHub allows to write to that cache scope. - We’ve clarified the name and alert message of the
actions/cache-poisoning/code-injectionquery.
JavaScript/TypeScript
- The
js/missing-rate-limitingquery now recognizes the@fastify/rate-limitpackage as a rate limiter.
For all changes, see the complete CodeQL 2.26.3 changelog.
GitHub automatically deploys each new CodeQL version to users of GitHub code scanning on GitHub.com. A future GitHub Enterprise Server (GHES) release will include this functionality. If you use an older GHES version, you can manually upgrade CodeQL.
The post CodeQL 2.26.3 improves GitHub Actions queries and JavaScript modeling appeared first on The GitHub Blog.
Source: original entry ↗
More from GitHub
Follow GitHub to get its new changes in your feed and email digest.
Improved detection for withdrawn Dependabot alerts
Dependabot now provides improved detection for withdrawn alerts that are no longer valid due to advisory or vulnerability changes. This makes it easier to identify and manage alerts that have been removed.
Search and filter for budgets now available
The Budgets and alerts page in GitHub billing settings now displays all budgets in a single searchable and filterable list, making it easier to manage multiple budgets.
Code scanning AI Scan metrics in security overview
Organization and enterprise administrators can now view metrics showing AI Scan findings generated and resolved in the security overview dashboard, providing visibility into the impact of AI-powered code scanning on pull requests.