Skip to content

Commit 603f0f2

Browse files
authored
Merge pull request #20219 from github/changedocs-2.22.3
Sitedocs for 2.22.3
2 parents ff288d7 + cc302c0 commit 603f0f2

File tree

9 files changed

+350
-9
lines changed

9 files changed

+350
-9
lines changed

docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.19.4.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,4 @@ JavaScript/TypeScript
7979
* Added taint-steps for :code:`Array.prototype.toReversed`.
8080
* Added taint-steps for :code:`Array.prototype.toSorted`.
8181
* Added support for :code:`String.prototype.matchAll`.
82-
* Added taint-steps for :code:`Array.prototype.reverse`.
82+
* Added taint-steps for :code:`Array.prototype.reverse`\

docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.20.4.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ Java/Kotlin
117117
* Deleted the deprecated :code:`isLValue` and :code:`isRValue` predicates from the :code:`VarAccess` class, use :code:`isVarWrite` and :code:`isVarRead` respectively instead.
118118
* Deleted the deprecated :code:`getRhs` predicate from the :code:`VarWrite` class, use :code:`getASource` instead.
119119
* Deleted the deprecated :code:`LValue` and :code:`RValue` classes, use :code:`VarWrite` and :code:`VarRead` respectively instead.
120-
* Deleted a lot of deprecated classes ending in ``*Access``, use the corresponding ``*Call`` classes instead.
121-
* Deleted a lot of deprecated predicates ending in ``*Access``, use the corresponding ``*Call`` predicates instead.
120+
* Deleted a lot of deprecated classes ending in :code:`*Access`, use the corresponding :code:`*Call` classes instead.
121+
* Deleted a lot of deprecated predicates ending in :code:`*Access`, use the corresponding :code:`*Call` predicates instead.
122122
* Deleted the deprecated :code:`EnvInput` and :code:`DatabaseInput` classes from :code:`FlowSources.qll`, use the threat models feature instead.
123123
* Deleted some deprecated API predicates from :code:`SensitiveApi.qll`, use the Sink classes from that file instead.
124124

@@ -144,7 +144,7 @@ Ruby
144144
* Deleted the deprecated :code:`ModelClass` and :code:`ModelInstance` classes from :code:`ActiveResource.qll`, use :code:`ModelClassNode` and :code:`ModelClassNode.getAnInstanceReference()` instead.
145145
* Deleted the deprecated :code:`Collection` class from :code:`ActiveResource.qll`, use :code:`CollectionSource` instead.
146146
* Deleted the deprecated :code:`ServiceInstantiation` and :code:`ClientInstantiation` classes from :code:`Twirp.qll`.
147-
* Deleted a lot of deprecated dataflow modules from ``*Query.qll`` files.
147+
* Deleted a lot of deprecated dataflow modules from :code:`*Query.qll` files.
148148
* Deleted the old deprecated TypeTracking library.
149149

150150
Swift

docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.21.0.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,5 +207,5 @@ JavaScript/TypeScript
207207

208208
* Intersection :code:`&&`
209209
* Subtraction :code:`--`
210-
* :code:`\\q` quoted string
210+
* :code:`\q` quoted string
211211

docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.21.4.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Minor Analysis Improvements
3838
C/C++
3939
"""""
4040

41-
* Added flow model for the :code:`SQLite` and :code:`OpenSSL` libraries. This may result in more alerts when running queries on codebases that use these libraries.
41+
* Added flow models for the :code:`SQLite` and :code:`OpenSSL` libraries. This may result in more alerts when running queries on codebases that use these libraries.
4242

4343
C#
4444
""

docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.22.0.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ New Queries
5050
Golang
5151
""""""
5252

53-
* Query (:code:`go/html-template-escaping-bypass-xss`) has been promoted to the main query suite. This query finds potential cross-site scripting (XSS) vulnerabilities when using the :code:`html/template` package, caused by user input being cast to a type which bypasses the HTML autoescaping. It was originally contributed to the experimental query pack by @gagliardetto in `https://github.com/github/codeql-go/pull/493 <https://github.com/github/codeql-go/pull/493>`_.
53+
* Query (:code:`go/html-template-escaping-bypass-xss`) has been promoted to the main query suite. This query finds potential cross-site scripting (XSS) vulnerabilities when using the :code:`html/template` package, caused by user input being cast to a type which bypasses the HTML autoescaping. It was originally contributed to the experimental query pack by @gagliardetto in https://github.com/github/codeql-go/pull/493.
5454

5555
Language Libraries
5656
------------------

docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.22.1.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ This is an overview of changes in the CodeQL CLI and relevant CodeQL query and l
1414
Security Coverage
1515
-----------------
1616

17-
CodeQL 2.22.1 runs a total of 449 security queries when configured with the Default suite (covering 165 CWE). The Extended suite enables an additional 129 queries (covering 33 more CWE).
17+
CodeQL 2.22.1 runs a total of 476 security queries when configured with the Default suite (covering 166 CWE). The Extended suite enables an additional 129 queries (covering 32 more CWE). 27 security queries have been added with this release.
1818

1919
CodeQL CLI
2020
----------
@@ -38,7 +38,7 @@ Minor Analysis Improvements
3838
C/C++
3939
"""""
4040

41-
* Added flow model for the following libraries: :code:`madler/zlib`, :code:`google/brotli`, :code:`libidn/libidn2`, :code:`libssh2/libssh2/`, :code:`nghttp2/nghttp2`, :code:`libuv/libuv/`, and :code:`curl/curl`. This may result in more alerts when running queries on codebases that use these libraries.
41+
* Added flow models for the following libraries: :code:`madler/zlib`, :code:`google/brotli`, :code:`libidn/libidn2`, :code:`libssh2/libssh2`, :code:`nghttp2/nghttp2`, :code:`libuv/libuv`, and :code:`curl/curl`. This may result in more alerts when running queries on codebases that use these libraries.
4242

4343
C#
4444
""
Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
.. _codeql-cli-2.22.2:
2+
3+
==========================
4+
CodeQL 2.22.2 (2025-07-29)
5+
==========================
6+
7+
.. contents:: Contents
8+
:depth: 2
9+
:local:
10+
:backlinks: none
11+
12+
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 <https://github.blog/tag/code-scanning/>`__, `relevant GitHub Changelog updates <https://github.blog/changelog/label/code-scanning/>`__, `changes in the CodeQL extension for Visual Studio Code <https://marketplace.visualstudio.com/items/GitHub.vscode-codeql/changelog>`__, and the `CodeQL Action changelog <https://github.com/github/codeql-action/blob/main/CHANGELOG.md>`__.
13+
14+
Security Coverage
15+
-----------------
16+
17+
CodeQL 2.22.2 runs a total of 474 security queries when configured with the Default suite (covering 166 CWE). The Extended suite enables an additional 130 queries (covering 32 more CWE).
18+
19+
CodeQL CLI
20+
----------
21+
22+
Bug Fixes
23+
~~~~~~~~~
24+
25+
* Fixes a bug in query suites where the :code:`version` property of an :code:`import` instruction was ignored. Previously, the following query suite would *not* resolve to :code:`v1.0.19` of :code:`codeql/csharp-queries`. Instead it would resolve to the latest version. This is now fixed and the resolve pack version would be :code:`v1.0.19`.
26+
27+
.. code-block:: text
28+
29+
- from: codeql/csharp-queries
30+
import: codeql-suites/csharp-security-and-quality.qls
31+
version: 1.0.19
32+
33+
Query Packs
34+
-----------
35+
36+
Bug Fixes
37+
~~~~~~~~~
38+
39+
C#
40+
""
41+
42+
* :code:`web.config` and :code:`web.release.config` files are now recognized regardless of case. This means queries :code:`cs/web/debug-binary` and :code:`cs/web/missing-x-frame-options` may produce more results than before.
43+
44+
Breaking Changes
45+
~~~~~~~~~~~~~~~~
46+
47+
JavaScript/TypeScript
48+
"""""""""""""""""""""
49+
50+
* The :code:`Type` and :code:`Symbol` classes have been deprecated and will be empty in newly extracted databases, since the TypeScript extractor no longer populates them.
51+
This is a breaking change for custom queries that explicitly relied on these classes.
52+
Such queries will still compile, but with deprecation warnings, and may have different query results due to type information no longer being available.
53+
We expect most custom queries will not be affected, however. If a custom query has no deprecation warnings, it should not be affected by this change.
54+
Uses of :code:`getType()` should be rewritten to use the new :code:`getTypeBinding()` or :code:`getNameBinding()` APIs instead.
55+
If the new API is not sufficient, please consider opening an issue in :code:`github/codeql` describing your use-case.
56+
57+
Major Analysis Improvements
58+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
59+
60+
JavaScript/TypeScript
61+
"""""""""""""""""""""
62+
63+
* The TypeScript extractor no longer relies on the TypeScript compiler for extracting type information.
64+
Instead, the information we need from types is now derived by an algorithm written in QL.
65+
This results in more robust extraction with faster extraction times, in some cases significantly faster.
66+
* Taint is now tracked through the React :code:`use` function.
67+
* Parameters of React server functions, marked with the :code:`"use server"` directive, are now seen as taint sources.
68+
69+
Minor Analysis Improvements
70+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
71+
72+
C/C++
73+
"""""
74+
75+
* Due to changes in the :code:`FunctionWithWrappers` library (:code:`semmle.code.cpp.security.FunctionWithWrappers`) the primary alert location generated by the queries :code:`cpp/path-injection`, :code:`cpp/sql-injection`, :code:`cpp/tainted-format-string`, and :code:`cpp/command-line-injection` may have changed.
76+
* Added flow models for the Win32 API functions :code:`CreateThread`, :code:`CreateRemoteThread`, and :code:`CreateRemoteThreadEx`.
77+
* Improved support for dataflow through function objects and lambda expressions.
78+
* Added flow models for :code:`pthread_create` and :code:`std::thread`.
79+
* The :code:`cpp/incorrect-string-type-conversion` query no longer alerts on incorrect type conversions that occur in unreachable code.
80+
* Added flow models for the GNU C Library.
81+
* Fixed a number of false positives and false negatives in :code:`cpp/global-use-before-init`. Note that this query is not part of any of the default query suites.
82+
* The query :code:`cpp/sql-injection` now can be extended using the :code:`sql-injection` Models as Data (MaD) sink kind.
83+
84+
C#
85+
""
86+
87+
* Explicitly added summary models for all overloads of :code:`System.Xml.XmlDictionaryReader.CreateBinaryReader`. Added models for some of the methods and properties in :code:`System.Runtime.Serialization.SerializationInfo` and :code:`System.Runtime.Serialization.SerializationInfoEnumerator`. Updated models for :code:`System.Text.Encoding.GetBytes`, :code:`System.Text.Encoding.GetChars` and the constructor for :code:`System.IO.MemoryStream`. This generally improves the library modelling and thus reduces the number of false negatives.
88+
* Added explicit SQL injection Models as Data models for :code:`Microsoft.Data.SqlClient.SqlCommand` and :code:`Microsoft.Data.SqlClient.SqlDataAdapter`. This reduces false negatives for the query :code:`cs/sql-injection`.
89+
90+
Golang
91+
""""""
92+
93+
* :code:`filepath.IsLocal` is now recognized as a sanitizer against path-traversal and related vulnerabilities.
94+
95+
Java/Kotlin
96+
"""""""""""
97+
98+
* Java analysis of guards has been switched to use the new and improved shared guards library. This improves precision of a number of queries, in particular :code:`java/dereferenced-value-may-be-null`, which now has fewer false positives, and :code:`java/useless-null-check` and :code:`java/constant-comparison`, which gain additional true positives.
99+
100+
JavaScript/TypeScript
101+
"""""""""""""""""""""
102+
103+
* Removed three queries from the JS qlpack, which have been superseded by newer queries that are part of the Actions qlpack:
104+
105+
* :code:`js/actions/pull-request-target` has been superseded by :code:`actions/untrusted-checkout/{medium,high,critical}`
106+
* :code:`js/actions/actions-artifact-leak` has been superseded by :code:`actions/secrets-in-artifacts`
107+
* :code:`js/actions/command-injection` has been superseded by :code:`actions/command-injection/{medium,critical}`
108+
109+
New Queries
110+
~~~~~~~~~~~
111+
112+
Rust
113+
""""
114+
115+
* Added a new query, :code:`rust/access-after-lifetime-ended`, for detecting pointer dereferences after the lifetime of the pointed-to object has ended.
116+
117+
Language Libraries
118+
------------------
119+
120+
Bug Fixes
121+
~~~~~~~~~
122+
123+
JavaScript/TypeScript
124+
"""""""""""""""""""""
125+
126+
* The JavaScript extractor no longer ignores source files specified in the :code:`tsconfig.json` compiler options :code:`outDir` if doing so would result in excluding all source code.
127+
128+
Python
129+
""""""
130+
131+
* The Python parser is now able to correctly parse expressions such as :code:`match[1]` and :code:`match()` where :code:`match` is not used as a keyword.
132+
133+
GitHub Actions
134+
""""""""""""""
135+
136+
* The :code:`actions/artifact-poisoning/critical` and :code:`actions/artifact-poisoning/medium` queries now exclude artifacts downloaded to :code:`$[{ runner.temp }}` in addition to :code:`/tmp`.
137+
138+
Breaking Changes
139+
~~~~~~~~~~~~~~~~
140+
141+
Ruby
142+
""""
143+
144+
* Most classes and predicates in the AST, SSA, and control-flow-graph libraries are now annotated with :code:`overlay[local]`, in preparation for incremental analysis. This could result in compiler errors for custom queries if they extend these classes. To mitigate such errors, look for ways to restructure custom QL code so it doesn't depend on changing the behavior of standard-library classes.
145+
146+
Minor Analysis Improvements
147+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
148+
149+
C/C++
150+
"""""
151+
152+
* The :code:`FunctionWithWrappers` library (:code:`semmle.code.cpp.security.FunctionWithWrappers`) no longer considers calls through function pointers as wrapper functions.
153+
* The analysis of C/C++ code targeting 64-bit Arm platforms has been improved. This includes support for the Arm-specific builtin functions, support for the :code:`arm_neon.h` header and Neon vector types, and support for the :code:`fp8` scalar type. The :code:`arm_sve.h` header and scalable vectors are only partially supported at this point.
154+
* Added support for :code:`__fp16 _Complex` and :code:`__bf16 _Complex` types
155+
* Added :code:`sql-injection` sink models for the Oracle Call Interface (OCI) database library functions :code:`OCIStmtPrepare` and :code:`OCIStmtPrepare2`.
156+
157+
Golang
158+
""""""
159+
160+
* Added models for the :code:`Head` function and the :code:`Client.Head` method, from the :code:`net/http` package, to the :code:`Http::ClientRequest` class. This means that they will be recognized as sinks for the query :code:`go/request-forgery` and the experimental query :code:`go/ssrf`.
161+
* Previously, :code:`DefinedType.getBaseType` gave the underlying type. It now gives the right hand side of the type declaration, as the documentation indicated that it should.
162+
163+
Java/Kotlin
164+
"""""""""""
165+
166+
* The qualifiers of a calls to :code:`readObject` on any classes that implement :code:`java.io.ObjectInput` are now recognised as sinks for :code:`java/unsafe-deserialization`. Previously this was only the case for classes which extend :code:`java.io.ObjectInputStream`.
167+
168+
JavaScript/TypeScript
169+
"""""""""""""""""""""
170+
171+
* Enhanced modeling for the :code:`execa` library, adding support for command execution methods :code:`execaCommand`, :code:`execaCommandSync`, :code:`$`, and :code:`$.sync`, as well as file system operations through :code:`inputFile`, :code:`pipeStdout`, :code:`pipeAll`, and :code:`pipeStderr`.
172+
173+
Python
174+
""""""
175+
176+
* Type annotations such as :code:`foo : Bar` are now treated by the call graph as an indication that :code:`foo` may be an instance of :code:`Bar`.
177+
178+
Rust
179+
""""
180+
181+
* Type inference has been extended to support pattern matching.
182+
* Call resolution for calls to associated functions has been improved, so it now disambiguates the targets based on type information at the call sites (either type information about the arguments or about the expected return types).
183+
* Type inference has been improved for :code:`for` loops and range expressions, which improves call resolution and may ultimately lead to more query results.
184+
* Implemented support for data flow through trait functions. For the purpose of data flow, calls to trait functions dispatch to all possible implementations.
185+
* :code:`AssocItem` and :code:`ExternItem` are now proper subclasses of :code:`Item`.
186+
* Added type inference for :code:`for` loops and array expressions.
187+
188+
Deprecated APIs
189+
~~~~~~~~~~~~~~~
190+
191+
C/C++
192+
"""""
193+
194+
* The :code:`UnknownDefaultLocation`, :code:`UnknownExprLocation`, and :code:`UnknownStmtLocation` classes have been deprecated. Use :code:`UnknownLocation` instead.
195+
196+
Golang
197+
""""""
198+
199+
* The class :code:`BuiltinType` is now deprecated. Use the new replacement :code:`BuiltinTypeEntity` instead.
200+
* The class :code:`DeclaredType` is now deprecated. Use the new replacement :code:`DeclaredTypeEntity` instead.
201+
202+
Java/Kotlin
203+
"""""""""""
204+
205+
* The module :code:`semmle.code.java.frameworks.Castor` has been deprecated and will be removed in a future release.
206+
* The module :code:`semmle.code.java.frameworks.JYaml` has been deprecated and will be removed in a future release.
207+
* The classes :code:`UnsafeHessianInputReadObjectMethod` and :code:`BurlapInputReadObjectMethod` in the module :code:`semmle.code.java.frameworks.HessianBurlap` have been deprecated and will be removed in a future release.
208+
* The class :code:`YamlBeansReaderReadMethod` in the module :code:`semmle.code.java.frameworks.YamlBeans` has been deprecated and will be removed in a future release.
209+
* The class :code:`MethodApacheSerializationUtilsDeserialize` in the module :code:`semmle.code.java.frameworks.apache.Lang` has been deprecated and will be removed in a future release.
210+
211+
New Features
212+
~~~~~~~~~~~~
213+
214+
C/C++
215+
"""""
216+
217+
* Added a :code:`isFinalValueOfParameter` predicate to :code:`DataFlow::Node` which holds when a dataflow node represents the final value of an output parameter of a function.
218+
219+
C#
220+
""
221+
222+
* Added a new predicate, :code:`getASuperType()`, to get a direct supertype of this type.
223+
224+
Java/Kotlin
225+
"""""""""""
226+
227+
* You can now add sinks for the query "Deserialization of user-controlled data" (:code:`java/unsafe-deserialization`) using `data extensions <https://codeql.github.com/docs/codeql-language-guides/customizing-library-models-for-java-and-kotlin/#extensible-predicates-used-to-create-custom-models-in-java-and-kotlin>`__ by extending :code:`sinkModel` and using the kind "unsafe-deserialization". The existing sinks that do not require extra logic to determine if they are unsafe are now defined in this way.
228+
229+
Shared Libraries
230+
----------------
231+
232+
Minor Analysis Improvements
233+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
234+
235+
Concepts
236+
""""""""
237+
238+
* Initial release. Moves the shared concepts library into its own qlpack.

0 commit comments

Comments
 (0)