CVE-2026-80831 in Linuxinfo

Summary

by MITRE • 09/04/2026

In the Linux kernel, the following vulnerability has been resolved:

crypto: mxs-dcp - fix source scatterlist length access

mxs_dcp_aes_block_crypt() uses sg_dma_len() without mapping the source scatterlist with dma_map_sg() first. Therefore, sg_dma_len() is invalid and could return zero or a stale DMA length, causing encryption and decryption to process the wrong number of bytes when CONFIG_NEED_SG_DMA_LENGTH=y.

Use the original scatterlist length instead.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 09/04/2026

The Linux kernel cryptographic subsystem contains a specific implementation flaw within the mxs-dcp driver that compromises data integrity during symmetric key operations. This vulnerability arises from an incorrect handling of memory mapping for source scatterlists in the function responsible for AES block cryptography, specifically mxs_dcp_aes_block_crypt(). In modern Linux kernels, particularly those configured with CONFIG_NEED_SG_DMA_LENGTH enabled, the kernel relies on DMA-mapped lengths to manage hardware access to scattered buffers. The driver incorrectly invokes sg_dma_len() directly on a source scatterlist without first ensuring that the list has been properly mapped via dma_map_sg(). This sequence error means the function does not establish the necessary bus mappings required for reliable direct memory access by the cryptographic engine, leading to undefined behavior in length determination.

When CONFIG_NEED_SG_DMA_LENGTH is active, sg_dma_len() returns values derived from DMA mapping operations rather than the original buffer sizes. Because no such mapping occurred prior to this call, the function retrieves either a zero value or stale data left over from previous operations. Consequently, the encryption and decryption processes operate on an incorrect number of bytes. This discrepancy can result in truncated ciphertext output during encryption or corrupted plaintext recovery during decryption. The operational impact is severe as it undermines the confidentiality and integrity guarantees provided by cryptographic algorithms, potentially exposing sensitive information to interception or alteration if the resulting data is transmitted over a network or stored persistently.

This flaw aligns with CWE-20 Improper Input Validation, specifically regarding the failure to validate resource access parameters before use, and relates to CWE-681 Incorrect Conversion between Numeric Types due to the misuse of DMA length metadata versus actual buffer size. From an offensive security perspective, this issue does not directly facilitate privilege escalation but represents a reliability flaw that could be leveraged in denial-of-service scenarios or as part of a broader attack chain involving data corruption within cryptographic pipelines. It reflects a gap in adhering to proper driver development standards where hardware-specific memory management must strictly follow kernel API requirements for DMA operations.

Mitigation strategies primarily involve applying the upstream patch provided by Linux kernel maintainers, which corrects the logic to use the original scatterlist length instead of relying on unmapped DMA lengths. For systems unable to apply immediate patches, administrators should ensure that CONFIG_NEED_SG_DMA_LENGTH is disabled if supported by their hardware configuration, although this may impact other subsystems dependent on accurate DMA tracking. Long-term remediation requires rigorous code review processes focused on DMA lifecycle management in kernel drivers, ensuring that all scatterlist operations are preceded by appropriate mapping calls to maintain consistency between logical buffer sizes and physical memory access parameters.

Responsible

Linux

Reservation

08/26/2026

Disclosure

09/04/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Interested in the pricing of exploits?

See the underground prices here!