Linux Kernel up to 5.4.250/5.10.187/5.15.149/6.4.6 region create_mapping_noalloc/update_mapping_prot virt privilege escalation

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.3 | $0-$5k | 0.00 |
Summary
A vulnerability described as critical has been identified in Linux Kernel up to 5.4.250/5.10.187/5.15.149/6.4.6. Affected is the function create_mapping_noalloc/update_mapping_prot of the component region. Executing a manipulation of the argument virt can lead to an unknown weakness.
This vulnerability is registered as CVE-2023-53989. No exploit is available.
Upgrading the affected component is recommended.
Details
A vulnerability was found in Linux Kernel up to 5.4.250/5.10.187/5.15.149/6.4.6. It has been declared as critical. This vulnerability affects the function create_mapping_noalloc/update_mapping_prot of the component region. The manipulation of the argument virt with an unknown input leads to a unknown weakness. The impact remains unknown. CVE summarizes:
In the Linux kernel, the following vulnerability has been resolved: arm64: mm: fix VA-range sanity check Both create_mapping_noalloc() and update_mapping_prot() sanity-check their 'virt' parameter, but the check itself doesn't make much sense. The condition used today appears to be a historical accident. The sanity-check condition: if ((virt >= PAGE_END) && (virt < VMALLOC_START)) { [ ... warning here ... ] return; } ... can only be true for the KASAN shadow region or the module region, and there's no reason to exclude these specifically for creating and updateing mappings. When arm64 support was first upstreamed in commit: c1cc1552616d0f35 ("arm64: MMU initialisation") ... the condition was: if (virt < VMALLOC_START) { [ ... warning here ... ] return; } At the time, VMALLOC_START was the lowest kernel address, and this was checking whether 'virt' would be translated via TTBR1. Subsequently in commit: 14c127c957c1c607 ("arm64: mm: Flip kernel VA space") ... the condition was changed to: if ((virt >= VA_START) && (virt < VMALLOC_START)) { [ ... warning here ... ] return; } This appear to have been a thinko. The commit moved the linear map to the bottom of the kernel address space, with VMALLOC_START being at the halfway point. The old condition would warn for changes to the linear map below this, and at the time VA_START was the end of the linear map. Subsequently we cleaned up the naming of VA_START in commit: 77ad4ce69321abbe ("arm64: memory: rename VA_START to PAGE_END") ... keeping the erroneous condition as: if ((virt >= PAGE_END) && (virt < VMALLOC_START)) { [ ... warning here ... ] return; } Correct the condition to check against the start of the TTBR1 address space, which is currently PAGE_OFFSET. This simplifies the logic, and more clearly matches the "outside kernel range" message in the warning.
The advisory is available at git.kernel.org. This vulnerability was named CVE-2023-53989 since 12/24/2025. Technical details are known, but there is no available exploit. The structure of the vulnerability defines a possible price range of USD $0-$5k at the moment (estimation calculated on 02/25/2026).
The vulnerability scanner Nessus provides a plugin with the ID 279806 (Linux Distros Unpatched Vulnerability : CVE-2023-53989), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 5.4.251, 5.10.188, 5.15.150 or 6.4.7 eliminates this vulnerability. Applying the patch 9d8d3df71516ec3236d8d93ff029d251377ba4b1/32020fc2a8373d3de35ae6d029d5969a42651e7a/621619f626cbe702ddbdc54117f3868b8ebd8129/b03c7fcc5ed854d0e1b27e9abf12428bfa751a37/ab9b4008092c86dc12497af155a0901cc1156999 is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the databases at Tenable (279806) and CERT Bund (WID-SEC-2025-2920). If you want to get best quality of vulnerability data, you may have to visit VulDB.
Affected
- Debian Linux
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- SUSE openSUSE
- Open Source Linux Kernel
- RESF Rocky Linux
Product
Type
Vendor
Name
Version
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 5.5VulDB Meta Temp Score: 5.3
VulDB Base Score: 5.5
VulDB Temp Score: 5.3
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Privilege escalationCWE: Unknown
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Partially
Availability: 🔒
Status: Not defined
EPSS Score: 🔒
EPSS Percentile: 🔒
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 279806
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2023-53989
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 5.4.251/5.10.188/5.15.150/6.4.7
Patch: 9d8d3df71516ec3236d8d93ff029d251377ba4b1/32020fc2a8373d3de35ae6d029d5969a42651e7a/621619f626cbe702ddbdc54117f3868b8ebd8129/b03c7fcc5ed854d0e1b27e9abf12428bfa751a37/ab9b4008092c86dc12497af155a0901cc1156999
Timeline
12/24/2025 Advisory disclosed12/24/2025 CVE reserved
12/24/2025 VulDB entry created
02/25/2026 VulDB entry last update
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2023-53989 (🔒)
GCVE (CVE): GCVE-0-2023-53989
GCVE (VulDB): GCVE-100-337930
CERT Bund: WID-SEC-2025-2920 - Linux Kernel: Mehrere Schwachstellen
Entry
Created: 12/24/2025 14:13Updated: 02/25/2026 08:26
Changes: 12/24/2025 14:13 (59), 12/24/2025 19:53 (7), 12/28/2025 08:14 (2), 01/30/2026 02:35 (1), 02/25/2026 08:26 (1)
Complete: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
No comments yet. Languages: en.
Please log in to comment.