CVE-2026-74578 in Linux정보

요약

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

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

crypto: algif_skcipher - ctx->state가 없는 트리에 대해 동기식 처리 강제화

skcipher_recvmsg()의 AIO/비동기 경로는 소켓 전체적인 ctx->iv를 skcipher 요청에 직접 전달합니다. io_submit() 이후 소켓 잠금이 해제되고 요청이 비동기로 처리되므로, 동시 실행되는 sendmsg(ALG_SET_IV)가 ctx->iv를 덮어쓰고 공격자가 제어하는 IV 하에서 진행 중인 요청을 실행할 수 있습니다. CTR/스트림 모드에서는 이것이 IV/키스트림 재사용으로 이어져 비특권 사용자가 동시 작업의 평문을 복원할 수 있게 됩니다.

비동기 경로에 대해 ctx->iv를 각 요청별 저장소로 스냅샷하는 것은 충분하지 않습니다. statesize == 0인 암호(cbc 및 ctr 포함)의 경우, MSG_MORE 인터-청크 IV 체이닝은 인플레이스 req->iv 쓰백(writeback)에만 의해 수행되며, 이는 스냅샷 시 각 요청별 메모리로 리디렉션되어 af_alg_free_resources()가 완료 시 해제하므로 결과적으로 잘못된 출력을 조용히 생성합니다. 또한 완료 콜백에서 IV를 다시 쓰는 것도 불가능합니다: 이를 위해서는 해당 위치에서 lock_sock()이 필요하지만, 콜백은 softirq/원자적 컨텍스트에서 실행될 수 있으므로 잠자기(sleep)해서는 안 됩니다.

대신 작업을 동기식으로 변경하여 IV 레이스와 모든 쓰백 레이스를 제거합니다. 이는 커밋 fcc77d33a34c("net: Remove support for AIO on sockets")의 업스트림 해결책과 동일하며, 이 커밋은 net/ 전체에서 AIO 소켓 경로를 제거하여 해당 파일에 대해 동일한 최종 상태를 생성했습니다. 본 패치는 안정화 버전(stable)에는 너무 광범위하므로 tree-wide로 AIO 소켓 지원을 제거하는 대신, crypto/algif_skcipher.c의 AIO 분기만 의도적으로 제거합니다. io_submit()은 이제 동기식으로 완료되며, AF_ALG 비동기는 실제 환경에서 거의 사용되지 않습니다.

skcipher_recvmsg() 내 -EIOCBQUEUED 체크는 더 이상 유효하지 않지만 무해하므로, 수정 사항을 최소화하기 위해 그대로 남겨두었습니다.

6.6.y에서 테스트: 변경 후 공격자 IV 주입이 200,000건 중 2,296회에서 0회로 감소했으며; MSG_MORE 청크화된 CTR 출력은 단일 샷(single-shot)과 비트 단위로 동일합니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Linux

예약하다

2026. 08. 15.

모더레이션

수락

항목

VDB-391151

EPSS

0.00000

활동

낮음

출처

Do you need the next level of professionalism?

Upgrade your account now!