🇰🇷 한글 설명
Linux 커널의 s390 아키텍처 암호화 모듈에서 비동기 콜백 처리 시 잘못된 반환 코드를 전달하는 취약점이 발견되었습니다. 이로 인해 암호화 요청이 성공했음에도 불구하고 엔진이 실패로 오인하여 동일한 요청을 두 번 완료하는 'Double Completion' 문제가 발생할 수 있습니다.
💡 쉬운 설명
암호화 작업이 끝났을 때 시스템에 '잘 끝났다'고 알려줘야 하는데, 실수로 '문제가 생겼다'고 잘못 알려주는 버그입니다. 이 때문에 시스템이 같은 작업을 두 번 처리하게 되어 오류나 충돌이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
s390/crypto: Fix wrong return code to engine in asynch callbacks
When crypto_finalize_hash_request() or
crypto_finalize_skcipher_request() explicitly completes a request, the
do_one_request callback must return 0 to indicate successful
handling. Returning a negative error code causes the crypto engine to
assume the driver failed to take ownership and triggers a second
completion via crypto_request_complete(), resulting in a double
completion. This pattern occurs in paes_s390.c 4 times and once in
phmac_s390.c.
Fixed in phmac_do_one_request() and all four paes do_one_request
callbacks (ecb, cbc, ctr, xts) by returning 0 after explicit
finalization instead of propagating the error code.
📍 영향받는 시스템
Linux kernel (s390 architecture, paes_s390.c 및 phmac_s390.c 관련 모듈 사용 시스템)
⚔️ 공격 벡터
로컬 공격자가 암호화 엔진의 비동기 콜백 로직을 유도하여 시스템 불안정성이나 메모리 오류를 유발할 수 있음
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 phmac 및 paes 콜백 함수의 반환 값을 수정해야 함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.