Look up another CVE · open CVE-2026-53055 in the interactive tracker
CVE-2026-53055
crypto: hisilicon/sec2 - prevent req used-after-free for sec
Published 2026-06-24 (4 months ago) by the Linux kernel CNA. Subsystem drivers/crypto. Debian urgency: unimportant.
Debian does not build this code. The per-release build detail is under "Where it lives" below.
What to do, per Debian release
Debian's own status for CVE-2026-53055 in every release this site tracks, and what each one means in practice. Every status below is the one the Debian Security Team publishes for this CVE. source
| Release | Status | Version | What this means |
|---|---|---|---|
| Debian 12bookworm | not affected | 6.1.190-1 | Nothing to do. bookworm never shipped the vulnerable code. |
| Debian 13trixie | not affected | 6.12.113-1 | Nothing to do. trixie never shipped the vulnerable code. |
| Debian 14forky | fixed | 7.0.10-1 | Update the kernel and reboot. Fixed in 7.0.10-1. A running kernel keeps the old code until the machine restarts. |
| Debian unstablesid | fixed | 7.0.10-1 | Update the kernel and reboot. Fixed in 7.0.10-1. A running kernel keeps the old code until the machine restarts. |
The vulnerability
What the bug is
During packet transmission, if the system is under heavy load, the hardware might complete processing the packet and free the request memory (req) before the transmission function finishes. If the software subsequently accesses this req, a use-after-free error will occur. The qp_ctx memory exists throughout the packet sending process, so replace the req with the qp_ctx.
Where it lives
The fix touches these files. If the subsystem is one you do not use, the practical exposure is lower, though the package is still the vulnerable one.
drivers/crypto/hisilicon/sec2/sec_crypto.c
- What this is
- HISILICON SECURITY ENGINE V2 DRIVER (SEC2)MAINTAINERS section matched on drivers/crypto/hisilicon/sec2/sec_crypto.c · linux-crypto@vger.kernel.org · Maintained
- Kernel module
- none to look for. The file would have gone into hisi_sec2, and Debian does not compile it into that module, so finding hisi_sec2 in lsmod would say nothing about this CVE.
Check it on the machine
grep -wE 'CONFIG_CRYPTO|CONFIG_CRYPTO_DEV_HISI_SEC2' /boot/config-$(uname -r)Reads the booted kernel's own configuration, on the machine and nowhere else. =y is built in, =m is a module, and an is not set line means the code is not there.
Show whether Debian builds this, per release
Debian does not build this code. In 4 releases below, every kernel flavour Debian publishes has the switch off, so the vulnerable file is compiled into no kernel binary Debian ships.
- bookworm, trixie, forky, sidn
- n
- not enabled on any flavour - this release does not build the code
- Build switches
- CONFIG_CRYPTO, CONFIG_CRYPTO_DEV_HISI_SEC2
- Reads as
- all on means the file is compiled; any one off means it is not.
From the configuration Debian publishes for every kernel flavour it builds. It covers only the architectures Debian ships a linux-config package for, and nothing about a kernel you built yourself. Debian's own status above stays authoritative about the source package.MAINTAINERS kbuild Makefiles Debian linux-config packages
Signals
- Published
- 2026-06-24 (4 months ago)source
- CVSS
- 9.8 critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hsource recompute it - Attack vector
- network (AV:N)source
- EPSS
- 0.43%, higher than 35.8% of all CVEssource
- CISA KEV
- not listedthe KEV catalogue
- Debian urgency
- unimportantsource
- Subsystem
- drivers/crypto
Upstream fixes
The versions the CNA records as introducing and fixing this, and the commit for each. source
| Introduced | Fixed in | Commit |
|---|---|---|
| 6.17 | 6.18.33 | b375c3c7209c |
| 6.17 | 7.0.10 | ad73563f3a1e |
| 6.17 | 7.1 | 67b53a660e6b |
Why the CNA scored it this way
Quoted from the kernel CNA's own scoring file, word for word. A highlighted metric carries the most severe value CVSS v3.1 defines for it, which is what pushes the score up. source
- AV:NAttack vector, network
- In the highest reasonable deployment, SEC2 is selected as the async AEAD provider for in-kernel network crypto such as kTLS AES-GCM/CCM, where remote TLS records reach `crypto_aead_decrypt()` and then the vulnerable SEC2 send path. AF_ALG also provides a local path, but the network-triggered kTLS/ESP-style path is the higher defensible attack vector.
- AC:LAttack complexity, low
- The bug is a request use-after-free after hardware submission, and an attacker can drive many asynchronous crypto requests by sending repeated records/packets to create the completion-before-return window. No special condition outside attacker-influenced load and request timing is required for triggering.
- PR:NPrivileges required, none
- A remote client can reach the vulnerable crypto operation through a network service using kTLS without any local account or kernel capability. The attacker only needs to establish/send traffic to the service, not authenticate to the host as a privileged user.
- UI:NUser interaction, none
- No victim user action is required once the vulnerable kernel and service configuration are present. The attacker triggers processing by sending network traffic.
- S:UScope, unchanged
- The vulnerable component and impacted resources are within the same kernel security authority. This is not a VM escape, IOMMU bypass, or other cross-scope boundary violation.
- C:HConfidentiality impact, high
- The flaw is a use-after-free of a crypto request object, and reclaimed object contents can influence stale pointer dereferences. Under the required conservative scoring rule, this supports potential kernel memory disclosure or broader exploitation.
- I:HIntegrity impact, high
- The stale `req->ctx->sec` pointer chain is used for an atomic counter update after free, giving a plausible memory corruption/write primitive if the freed request is reclaimed. As a UAF in kernel heap memory, it is scored as high integrity impact.
- A:HAvailability impact, high
- Even without full exploitation, dereferencing freed request memory can cause kernel oops, panic, or service-disrupting memory corruption. The trigger can be repeated with continued traffic.