Linux: Out-of-bounds Read
CVE-2026-46020 is a high-severity out-of-bounds read vulnerability in Linux, with a CVSS 3.1 base score of 7.1 out of 10. It can be exploited with local access to the system by an attacker with a low-privileged account, without any action from a user. The record lists versions b09958e235f2b9cd3898b85a8529172afa80d212, bcad74078708f2330a45b55358ebc38f8f4b1127, 40250b2dded0604a112be605f3828700d80ad7c2 as the first without the flaw, so updating Linux to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.12% chance of exploitation within 30 days, which is low compared with other CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update Linux to b09958e235f2b9cd3898b85a8529172afa80d212 or bcad74078708f2330a45b55358ebc38f8f4b1127 or 40250b2dded0604a112be605f3828700d80ad7c2, whichever matches your release line, or a later version.
- Update Linux Kernel to 6.18.27 or 7.0.4, whichever matches your release line, or a later version.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Linux | Linux | 0e1c773b501f33437d87b72c7d26080361e224b1 up to, but not including, b09958e235f2b9cd3898b85a8529172afa80d212; 0e1c773b501f33437d87b72c7d26080361e224b1 up to, but not including, bcad74078708f2330a45b55358ebc38f8f4b1127; 0e1c773b501f33437d87b72c7d26080361e224b1 up to, but not including, 40250b2dded0604a112be605f3828700d80ad7c2; 6.16 | b09958e235f2b9cd3898b85a8529172afa80d212, bcad74078708f2330a45b55358ebc38f8f4b1127, 40250b2dded0604a112be605f3828700d80ad7c2 |
| Linux | Linux Kernel | 6.16 up to, but not including, 6.18.27; 6.19 up to, but not including, 7.0.4 | 6.18.27, 7.0.4 |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- LocalThe attacker needs local access or must trick a user into running something.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- LowA basic user account is enough.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- NoneNothing can be modified.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H. Scored by NVD.
Official description
In the Linux kernel, the following vulnerability has been resolved: mm/damon/core: validate damos_quota_goal->nid for node_mem_{used,free}_bp Patch series "mm/damon/core: validate damos_quota_goal->nid". node_mem[cg]_{used,free}_bp DAMOS quota goals receive the node id. The node id is used for si_meminfo_node() and NODE_DATA() without proper validation. As a result, privileged users can trigger an out of bounds memory access using DAMON_SYSFS. Fix the issues. The issue was originally reported [1] with a fix by another author. The original author announced [2] that they will stop working including the fix that was still in the review stage. Hence I'm restarting this. This patch (of 2): Users can set damos_quota_goal->nid with arbitrary value for node_mem_{used,free}_bp. But DAMON core is using those for si_meminfo_node() without the validation of the value. This can result in out of bounds memory access. The issue can actually triggered using DAMON user-space tool (damo), like below. $ sudo ./damo start --damos_action stat \ --damos_quota_goal node_mem_used_bp 50% -1 \ --damos_quota_interval 1s $ sudo dmesg [...] [ 65.565986] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000098 Fix this issue by adding the validation of the given node. If an invalid node id is given, it returns 0% for used memory ratio, and 100% for free memory ratio.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Out-of-bounds Read
The product reads data past the end, or before the beginning, of the intended buffer.
How developers prevent this class of flaw
- Use a language that provides appropriate memory abstractions.
Timeline
- CVE record published.
- Record last changed materially (score, affected products, status or references).
References
Patches and release notes
Recent Out-of-bounds Read vulnerabilities
- 7.1 High severity
- 7.1 High severity
- 7.1 High severity
- 7.1 High severity
- 8.2 High severity
- 7.1 High severity
Spotted an error? Tell us.