Skip to content

Commit d51361c

Browse files
authored
Merge pull request #20387 from github/changedocs-2.23.0
Changedocs 2.23.0
2 parents dc247e0 + 2505272 commit d51361c

File tree

2 files changed

+150
-0
lines changed

2 files changed

+150
-0
lines changed
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
.. _codeql-cli-2.23.0:
2+
3+
==========================
4+
CodeQL 2.23.0 (2025-09-04)
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.23.0 runs a total of 479 security queries when configured with the Default suite (covering 169 CWE). The Extended suite enables an additional 131 queries (covering 32 more CWE). 2 security queries have been added with this release.
18+
19+
CodeQL CLI
20+
----------
21+
22+
Miscellaneous
23+
~~~~~~~~~~~~~
24+
25+
* The build of Eclipse Temurin OpenJDK that is used to run the CodeQL CLI has been updated to version 21.0.8.
26+
27+
Query Packs
28+
-----------
29+
30+
Bug Fixes
31+
~~~~~~~~~
32+
33+
C/C++
34+
"""""
35+
36+
* Fixed an inconsistency across languages where most have a :code:`Customizations.qll` file for adding customizations, but not all did.
37+
38+
Swift
39+
"""""
40+
41+
* Fixed an inconsistency across languages where most have a :code:`Customizations.qll` file for adding customizations, but not all did.
42+
43+
Rust
44+
""""
45+
46+
* The "Low Rust analysis quality" query (:code:`rust/diagnostic/database-quality`) has been tuned so that it won't trigger on databases that have extracted normally. This will remove spurious messages of "Low Rust analysis quality" on the CodeQL status page.
47+
* Fixed an inconsistency across languages where most have a :code:`Customizations.qll` file for adding customizations, but not all did.
48+
49+
Minor Analysis Improvements
50+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
51+
52+
Java/Kotlin
53+
"""""""""""
54+
55+
* Fixed a bug that was causing false negatives in rare cases in the query :code:`java/dereferenced-value-may-be-null`.
56+
* Removed the :code:`java/empty-statement` query that was subsumed by the :code:`java/empty-block` query.
57+
58+
Python
59+
""""""
60+
61+
* The :code:`py/unexpected-raise-in-special-method` query has been modernized. It produces additional results in cases where the exception is
62+
only raised conditionally. Its precision has been changed from :code:`very-high` to :code:`high`.
63+
* The queries :code:`py/incomplete-ordering`, :code:`py/inconsistent-equality`, and :code:`py/equals-hash-mismatch` have been modernized; no longer relying on outdated libraries, improved documentation, and no longer producing alerts for problems specific to Python 2.
64+
65+
New Queries
66+
~~~~~~~~~~~
67+
68+
Java/Kotlin
69+
"""""""""""
70+
71+
* The query :code:`java/insecure-spring-actuator-config` has been promoted from experimental to the main query pack as :code:`java/spring-boot-exposed-actuators-config`. Its results will now appear by default. This query detects exposure of Spring Boot actuators through configuration files. It was originally submitted as an experimental query `by @luchua-bc <https://github.com/github/codeql/pull/5384>`__.
72+
73+
Rust
74+
""""
75+
76+
* Added a new query, :code:`rust/log-injection`, for detecting cases where log entries could be forged by a malicious user.
77+
78+
Query Metadata Changes
79+
~~~~~~~~~~~~~~~~~~~~~~
80+
81+
Java/Kotlin
82+
"""""""""""
83+
84+
* The tag :code:`maintainability` has been removed from :code:`java/run-finalizers-on-exit` and the tags :code:`quality`, :code:`correctness`, and :code:`performance` have been added.
85+
* The tag :code:`maintainability` has been removed from :code:`java/garbage-collection` and the tags :code:`quality` and :code:`correctness` have been added.
86+
87+
Language Libraries
88+
------------------
89+
90+
Major Analysis Improvements
91+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
92+
93+
Rust
94+
""""
95+
96+
* Path resolution has been removed from the Rust extractor. For the majority of purposes CodeQL computed paths have been in use for several previous releases, this completes the transition. Extraction is now faster and more reliable.
97+
98+
Minor Analysis Improvements
99+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
100+
101+
C/C++
102+
"""""
103+
104+
* Added flow summaries for the :code:`Microsoft::WRL::ComPtr` member functions.
105+
* The new dataflow/taint-tracking library (:code:`semmle.code.cpp.dataflow.new.DataFlow` and :code:`semmle.code.cpp.dataflow.new.TaintTracking`) now resolves virtual function calls more precisely. This results in fewer false positives when running dataflow/taint-tracking queries on C++ projects.
106+
107+
C#
108+
""
109+
110+
* A bug has been fixed in the data flow analysis, which means that flow through calls using the :code:`base` qualifier may now be tracked more accurately.
111+
* Added summary models for :code:`System.Xml.XmlReader`, :code:`System.Xml.XmlTextReader` and :code:`System.Xml.XmlDictionaryReader`.
112+
* Models-as-data summaries for byte and char arrays and pointers now treat the entire collection as tainted, reflecting their common use as string alternatives.
113+
* The default taint tracking configuration now allows implicit reads from collections at sinks and in additional flow steps. This increases flow coverage for many taint tracking queries and helps reduce false negatives.
114+
115+
JavaScript/TypeScript
116+
"""""""""""""""""""""
117+
118+
* Removed :code:`libxmljs` as an XML bomb sink. The underlying libxml2 library now includes `entity reference loop detection <https://github.com/GNOME/libxml2/blob/0c948334a8f5c66d50e9f8992e62998017dc4fc6/NEWS#L905-L908>`__ that prevents XML bomb attacks.
119+
120+
Python
121+
""""""
122+
123+
* The modelling of Psycopg2 now supports the use of :code:`psycopg2.pool` connection pools for handling database connections.
124+
* Removed :code:`lxml` as an XML bomb sink. The underlying libxml2 library now includes `entity reference loop detection <https://github.com/lxml/lxml/blob/f33ac2c2f5f9c4c4c1fc47f363be96db308f2fa6/doc/FAQ.txt#L1077>`__ that prevents XML bomb attacks.
125+
126+
Rust
127+
""""
128+
129+
* Attribute macros are now taken into account when identifying macro-expanded code. This affects the queries :code:`rust/unused-variable` and :code:`rust/unused-value`, which exclude results in macro-expanded code.
130+
* Improved modelling of the :code:`std::fs`, :code:`async_std::fs` and :code:`tokio::fs` libraries. This may cause more alerts to be found by Rust injection queries, particularly :code:`rust/path-injection`.
131+
132+
New Features
133+
~~~~~~~~~~~~
134+
135+
C/C++
136+
"""""
137+
138+
* Added a new class :code:`PchFile` representing precompiled header (PCH) files used during project compilation.
139+
140+
Shared Libraries
141+
----------------
142+
143+
Minor Analysis Improvements
144+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
145+
146+
Utility Classes
147+
"""""""""""""""
148+
149+
* Added :code:`LocatableOption` and :code:`OptionWithLocationInfo` as modules providing option types with location information.

docs/codeql/codeql-overview/codeql-changelog/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ A list of queries for each suite and language `is available here <https://docs.g
1111
.. toctree::
1212
:maxdepth: 1
1313

14+
codeql-cli-2.23.0
1415
codeql-cli-2.22.4
1516
codeql-cli-2.22.3
1617
codeql-cli-2.22.2

0 commit comments

Comments
 (0)