CVE-2026-80712 in Linux
Sumário
de VulDB • 28/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
spi: spi-qpic-snand: gravar o valor da feature antes de executar SET_FEATURE
qcom_spi_send_cmdaddr() programa NAND_FLASH_CMD/NAND_EXEC_CMD e submete os descritores, fazendo com que o controlador execute o comando imediatamente. Para SPINAND_SET_FEATURE, o valor a ser escrito é colocado apenas em NAND_FLASH_FEATURES posteriormente, por qcom_spi_io_op(), numa segunda submissão; portanto, o chip é programado com qualquer conteúdo que aquele registrador tivesse de uma operação anterior, e o valor pretendido só é aplicado pelo *próximo* SET_FEATURE.
Medição realizada num TP-Link Archer AX55 v1 (IPQ5018, ESMT F50L1G41LB): escrever 0x40 no registrador de configuração (0xb0) deixa o chip em 0x00, e a escrita subsequente de 0x00 o deixa em 0x40; cada gravação fica uma operação atrasada.
Isso passou despercebido até que v6.18 adicionou suporte OTP SPI-NAND juntamente com entradas OTP para chips ESMT. spinand_otp_rw() habilita o modo OTP, lê e desabilita novamente, e mtd_otp_nvmem_add() faz isso durante o registro MTD. Com o erro off-by-one, a gravação de "desabilitar" aplica realmente o valor solicitado anteriormente, fazendo com que CFG_OTP_ENABLE acabe definido: o chip permanece no modo OTP, cada leitura subsequente do array retorna a área OTP em vez do array (o UBI relata um dispositivo vazio) e todas as gravações falham com -EIO porque a área OTP é protegida contra escrita. Neste board, isso torna toda a flash inutilizável e o dispositivo não inicializa.
Gravar o valor da feature em NAND_FLASH_FEATURES como parte da mesma transação, antes de NAND_EXEC_CMD. Ao fazer isso, copiar apenas os bytes que a operação realmente carrega; o código anterior fazia dereference num ponteiro de 4 bytes sobre um buffer de um byte (spinand->scratchbuf).
Com este patch, o conteúdo da flash lido retorna bit-a-bit idêntico a uma dump conhecida como boa do mesmo board tomada sob o firmware do fornecedor (verificada por md5 em todas as partições), e as gravações funcionam.
Once again VulDB remains the best source for vulnerability data.