CVE-2026-80712 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 28.

리눅스 커널에서 다음 취약점이 해결되었습니다:

spi: spi-qpic-snand: SET_FEATURE 실행 전에 기능 값을 기록하십시오

qcom_spi_send_cmdaddr()는 NAND_FLASH_CMD/NAND_EXEC_CMD를 프로그래밍하고 설명자(descriptors)를 제출하여 컨트롤러가 명령을 즉시 실행하도록 합니다. SPINAND_SET_FEATURE의 경우, 작성할 값은 qcom_spi_io_op()에 의해 두 번째 제출에서 나중에 NAND_FLASH_FEATURES에만 배치되므로, 칩에는 이전 작업에서 레지스터가 우연히 보유하고 있던 값으로 프로그래밍되며, 의도된 값은 *다음* SET_FEATURE에서만 적용됩니다.

TP-Link Archer AX55 v1(IPQ5018, ESMT F50L1G41LB)에서 측정한 결과: 구성 레지스터(0xb0)에 0x40을 작성하면 칩이 0x00으로 남아 있고, 후속 0x00 작성은 이를 0x40으로 만듭니다. 모든 작성이 한 작업 늦게 적용됩니다.

이 문제는 ESMT 칩용 OTP 엔트리와 함께 SPI-NAND OTP 지원이 v6.18에 추가될 때까지 발견되지 않았습니다. spinand_otp_rw()는 OTP 모드를 활성화하고, 읽고, 다시 비활성화하며, mtd_otp_nvmem_add()는 MTD 등록 중에 이를 수행합니다. 오프 바이 원(off-by-one) 오류로 인해 "비활성화" 작성이 실제로 이전에 요청된 값을 적용하므로 CFG_OTP_ENABLE이 설정됩니다: 칩은 OTP 모드에 머물며, 후속 배열 읽기마다 OTP 영역을 반환하고(UBI는 빈 장치를 보고함), 모든 작성은 OTP 영역이 쓰기 보호되어 있으므로 -EIO로 실패합니다. 이 보드에서는 플래시가 완전히 사용 불가능해지고 기기가 부팅되지 않게 됩니다.

NAND_EXEC_CMD 전에 동일한 트랜잭션의 일부로 NAND_FLASH_FEATURES에 기능 값을 기록하십시오. 이와 함께 작업에서 실제로 전달하는 바이트만 복사하십시오(이전 코드는 1바이트 버퍼(spinand->scratchbuf) 위에서 4바이트 포인터를 역참조했습니다).

이 패치와 플래시 내용을 읽으면 벤더 펌웨어 하에서 동일한 보드의 알려진 양호한 덤프(md5-검증된 파티션 간)와 비트 단위로 동일하며, 작성이 정상적으로 작동합니다.

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

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!