CVE-2025-21738

ata: libata-sff: Ensure that we cannot write outside the allocated buffer

State
Published
Severity
7.8 High
Published
Feb 27, 2025
Updated
Oct 15, 2026
Reserved
Dec 29, 2024

Read the record on cve.org

Description

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

ata: libata-sff: Ensure that we cannot write outside the allocated buffer

reveliofuzzing reported that a SCSI_IOCTL_SEND_COMMAND ioctl with out_len set to 0xd42, SCSI command set to ATA_16 PASS-THROUGH, ATA command set to ATA_NOP, and protocol set to ATA_PROT_PIO, can cause ata_pio_sector() to write outside the allocated buffer, overwriting random memory.

While a ATA device is supposed to abort a ATA_NOP command, there does seem to be a bug either in libata-sff or QEMU, where either this status is not set, or the status is cleared before read by ata_sff_hsm_move(). Anyway, that is most likely a separate bug.

Looking at __atapi_pio_bytes(), it already has a safety check to ensure that __atapi_pio_bytes() cannot write outside the allocated buffer.

Add a similar check to ata_pio_sector(), such that also ata_pio_sector() cannot write outside the allocated buffer.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 5a5dbd18a7496ed403f6f54bb20c955c65482fa5 to before a8f8cf87059ed1905c2a5c72f8b39a4f57b11b4cAffected
  • 5a5dbd18a7496ed403f6f54bb20c955c65482fa5 to before d5e6e3000309359eae2a17117aa6e3c44897bf6cAffected
  • 5a5dbd18a7496ed403f6f54bb20c955c65482fa5 to before 0dd5aade301a10f4b329fa7454fdcc2518741902Affected
  • 5a5dbd18a7496ed403f6f54bb20c955c65482fa5 to before 0a17a9944b8d89ef03946121241870ac53ddaf45Affected
  • 5a5dbd18a7496ed403f6f54bb20c955c65482fa5 to before 6e74e53b34b6dec5a50e1404e2680852ec6768d2Affected
LinuxLinux
  • 2.6.22Affected
  • before 2.6.22Not affected
  • 6.1.129 through 6.1.*Not affected
  • 6.6.78 through 6.6.*Not affected
  • 6.12.14 through 6.12.*Not affected
  • 6.13.3 through 6.13.*Not affected
  • 6.14 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.