CVE-2026-64299
tracing: Prevent out-of-bounds read in glob matching
Description
In the Linux kernel, the following vulnerability has been resolved: tracing: Prevent out-of-bounds read in glob matching String event fields are not necessarily NUL-terminated, so the filter predicate functions (filter_pred_string(), filter_pred_strloc() and filter_pred_strrelloc()) pass the field length to the regex match callbacks, and the length-aware matchers honour it. regex_match_glob() was the exception: it ignored the length and called glob_match(), which scans the string until it hits a NUL byte. Some string fields are not NUL-terminated. One example is the dynamic char array of the xfs_* namespace tracepoints, which is copied without a trailing NUL. For such a field, glob matching reads past the end of the event field, causing a KASAN slab-out-of-bounds read in glob_match(), reached via regex_match_glob() and filter_match_preds() from the xfs_lookup tracepoint. Add a length-bounded glob_match_len() and use it from regex_match_glob() so glob matching always stops at the field boundary. The matching loop is factored into a shared helper so glob_match() keeps its behaviour.
INFO
Published Date :
July 25, 2026, 10:17 a.m.
Last Modified :
Aug. 17, 2026, 5:17 a.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | HIGH | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
Solution
- Update the Linux kernel to the patched version.
- Apply the relevant security patches for tracing.
- Verify the fix by testing tracepoint glob matching.
- Restart affected systems or services if necessary.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-64299.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-64299 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-64299
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-64299 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-64299 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 17, 2026
Action Type Old Value New Value Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '265f3a690f6c7d69ef7d2ca50b04b4853a211df3', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': 'ee5b8888d3248618251fb69a2fad92afcb81557e', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '56d4c9ab84714eebb285a2fee68aaedf81e3ef15', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '35ae19764eabfe9c29029d3b5713c86e6855acdf', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': 'ebb55902856973906c8bb339a3a34824ed4a5086', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '2dad64a97e1df47f5d9ccb17fa319aa348617226', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': 'e5d5f3bd053a5f14787526c9f0f55ef900d43ac6', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '0a6070839b1ef276d5b05bedfb787743e140fb17', 'versionType': 'git'}], 'programFiles': ['include/linux/glob.h', 'kernel/trace/trace_events_filter.c', 'lib/glob.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.10'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.10', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc3', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['include/linux/glob.h', 'kernel/trace/trace_events_filter.c', 'lib/glob.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '265f3a690f6c7d69ef7d2ca50b04b4853a211df3', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': 'ee5b8888d3248618251fb69a2fad92afcb81557e', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '56d4c9ab84714eebb285a2fee68aaedf81e3ef15', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '35ae19764eabfe9c29029d3b5713c86e6855acdf', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': 'ebb55902856973906c8bb339a3a34824ed4a5086', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '2dad64a97e1df47f5d9ccb17fa319aa348617226', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': 'e5d5f3bd053a5f14787526c9f0f55ef900d43ac6', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '0a6070839b1ef276d5b05bedfb787743e140fb17', 'versionType': 'git'}], 'programFiles': ['include/linux/glob.h', 'kernel/trace/trace_events_filter.c', 'lib/glob.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.10'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.10', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['include/linux/glob.h', 'kernel/trace/trace_events_filter.c', 'lib/glob.c'], 'defaultStatus': 'affected'}] -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 27, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 25, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '265f3a690f6c7d69ef7d2ca50b04b4853a211df3', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': 'ee5b8888d3248618251fb69a2fad92afcb81557e', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '56d4c9ab84714eebb285a2fee68aaedf81e3ef15', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '35ae19764eabfe9c29029d3b5713c86e6855acdf', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': 'ebb55902856973906c8bb339a3a34824ed4a5086', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '2dad64a97e1df47f5d9ccb17fa319aa348617226', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': 'e5d5f3bd053a5f14787526c9f0f55ef900d43ac6', 'versionType': 'git'}, {'status': 'affected', 'version': '60f1d5e3bac44b598f67d36062da96c095d2b700', 'lessThan': '0a6070839b1ef276d5b05bedfb787743e140fb17', 'versionType': 'git'}], 'programFiles': ['include/linux/glob.h', 'kernel/trace/trace_events_filter.c', 'lib/glob.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.10'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.10', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc3', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['include/linux/glob.h', 'kernel/trace/trace_events_filter.c', 'lib/glob.c'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: tracing: Prevent out-of-bounds read in glob matching String event fields are not necessarily NUL-terminated, so the filter predicate functions (filter_pred_string(), filter_pred_strloc() and filter_pred_strrelloc()) pass the field length to the regex match callbacks, and the length-aware matchers honour it. regex_match_glob() was the exception: it ignored the length and called glob_match(), which scans the string until it hits a NUL byte. Some string fields are not NUL-terminated. One example is the dynamic char array of the xfs_* namespace tracepoints, which is copied without a trailing NUL. For such a field, glob matching reads past the end of the event field, causing a KASAN slab-out-of-bounds read in glob_match(), reached via regex_match_glob() and filter_match_preds() from the xfs_lookup tracepoint. Add a length-bounded glob_match_len() and use it from regex_match_glob() so glob matching always stops at the field boundary. The matching loop is factored into a shared helper so glob_match() keeps its behaviour. Added Reference https://git.kernel.org/stable/c/0a6070839b1ef276d5b05bedfb787743e140fb17 Added Reference https://git.kernel.org/stable/c/265f3a690f6c7d69ef7d2ca50b04b4853a211df3 Added Reference https://git.kernel.org/stable/c/2dad64a97e1df47f5d9ccb17fa319aa348617226 Added Reference https://git.kernel.org/stable/c/35ae19764eabfe9c29029d3b5713c86e6855acdf Added Reference https://git.kernel.org/stable/c/56d4c9ab84714eebb285a2fee68aaedf81e3ef15 Added Reference https://git.kernel.org/stable/c/e5d5f3bd053a5f14787526c9f0f55ef900d43ac6 Added Reference https://git.kernel.org/stable/c/ebb55902856973906c8bb339a3a34824ed4a5086 Added Reference https://git.kernel.org/stable/c/ee5b8888d3248618251fb69a2fad92afcb81557e