Linux Kernel up to 6.18.52 arm64 kprobes kprobes_save_local_irqflag saved_irqflag state issue

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
4.2$0-$5k1.17

Summaryinfo

A vulnerability marked as problematic has been reported in Linux Kernel up to 6.18.52. Affected is the function kprobes_save_local_irqflag of the component arm64 kprobes. The manipulation of the argument saved_irqflag leads to state issue. This vulnerability is referenced as CVE-2026-98888. The attack can only be performed from a local environment. No exploit is available. It is suggested to upgrade the affected component.

Detailsinfo

A vulnerability, which was classified as problematic, has been found in Linux Kernel up to 6.18.52. This issue affects the function kprobes_save_local_irqflag of the component arm64 kprobes. The manipulation of the argument saved_irqflag with an unknown input leads to a state issue vulnerability. Using CWE to declare the problem leads to CWE-371. Impacted is availability. The summary by CVE is:

In the Linux kernel, the following vulnerability has been resolved: arm64: kprobes: Allow reentering kprobes while single-stepping A kprobe can be hit while another kprobe is in KPROBE_HIT_SS state. This can happen when tracing or perf code runs from the debug exception path while the first kprobe is preparing or executing its out-of-line single-step instruction. Currently arm64 treats a kprobe hit in KPROBE_HIT_SS as unrecoverable, the same as a hit in KPROBE_REENTER. This is too strict. A hit in KPROBE_HIT_SS is still a one-level reentry and can be handled by saving the current kprobe state and setting up single-step for the new probe, just like reentry from KPROBE_HIT_ACTIVE or KPROBE_HIT_SSDONE. The truly unrecoverable case is hitting another kprobe while already in KPROBE_REENTER, because the reentry save area has already been consumed. Move KPROBE_HIT_SS to the recoverable reentry cases and leave KPROBE_REENTER as the unrecoverable nested reentry case. This change also requires saving saved_irqflag in struct prev_kprobe. When a nested kprobe calls kprobes_save_local_irqflag(), it overwrites kcb->saved_irqflag with the currently masked DAIF value, losing the outer kprobe's original DAIF state. Without this fix, when the outer kprobe's single-step finishes, kprobes_restore_local_irqflag() applies the wrong DAIF mask and leaves interrupts permanently disabled. Extend struct prev_kprobe with a saved_irqflag field and save/restore it alongside kp and status. This ensures the outer kprobe's original interrupt state is preserved across reentry. This mirrors the x86 fix in commit 6a5022a56ac3 ("kprobes/x86: Allow to handle reentered kprobe on single-stepping").

The advisory is shared at git.kernel.org. The identification of this vulnerability is CVE-2026-98888 since 09/25/2026. The exploitation is known to be easy. An attack has to be approached locally. The exploitation requires an enhanced level of successful authentication. Technical details are known, but no exploit is available.

Upgrading to version 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111 or 6.18.53 eliminates this vulnerability. Applying the patch bb0fe9121aa0824211aafa33c7d0151fd25ddb75/f96a0606de6bcc8d937b80e6470fd7a174c17e26/1f342b3e44c3035a837b53b217d816f7511c0d0a/c8e84e292ed4cfc199824146da71bb4397b02a1f/68774caca799e9695db56d426c69acebd041c2ed/a21bf9cb893126e8d9730995708d0be5eb167652/23f851ac0078a908bf3422d6467ebc1db5828c46 is able to eliminate this problem. The best possible mitigation is suggested to be upgrading to the latest version.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Productinfo

Type

Vendor

Name

Version

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 4.4
VulDB Meta Temp Score: 4.2

VulDB Base Score: 4.4
VulDB Temp Score: 4.2
VulDB Vector: 🔒
VulDB Reliability: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍

Exploitinginfo

Class: State issue
CWE: CWE-371
CAPEC: 🔒
ATT&CK: 🔒

Physical: Partially
Local: Yes
Remote: No

Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: Kernel 5.10.271/5.15.222/6.1.189/6.6.158/6.12.111/6.18.53
Patch: bb0fe9121aa0824211aafa33c7d0151fd25ddb75/f96a0606de6bcc8d937b80e6470fd7a174c17e26/1f342b3e44c3035a837b53b217d816f7511c0d0a/c8e84e292ed4cfc199824146da71bb4397b02a1f/68774caca799e9695db56d426c69acebd041c2ed/a21bf9cb893126e8d9730995708d0be5eb167652/23f851ac0078a908bf3422d6467ebc1db5828c46

Timelineinfo

09/25/2026 CVE reserved
10/23/2026 +28 days Advisory disclosed
10/23/2026 +0 days VulDB entry created
10/23/2026 +0 days VulDB entry last update

Sourcesinfo

Vendor: kernel.org

Advisory: git.kernel.org
Status: Confirmed

CVE: CVE-2026-98888 (🔒)
GCVE (CVE): GCVE-0-2026-98888
GCVE (VulDB): GCVE-100-425765

Entryinfo

Created: 10/23/2026 14:59
Changes: 10/23/2026 14:59 (60)
Complete: 🔍
Cache ID: 216::103

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Discussion

No comments yet. Languages: en.

Please log in to comment.

Do you want to use VulDB in your project?

Use the official API to access entries easily!