🇰🇷 한글 설명
OP-TEE의 NXP CAAM 암호화 드라이버에서 RSA-OAEP 복호화 구현 시 비일정한 시간의 memcmp() 함수를 사용하여 패딩 오라클 취약점이 발생합니다. 이로 인해 공격자가 약 1,000~2,000번의 선택 암호문 쿼리를 통해 RSA-OAEP 평문을 복구할 수 있습니다.
💡 쉬운 설명
암호문을 해독하는 과정에서 발생하는 미세한 시간 차이를 이용해 비밀 정보를 알아낼 수 있는 결함입니다. 공격자가 특수한 질문을 반복함으로써 암호화된 내용을 원래의 문장으로 되돌릴 수 있습니다.
🇺🇸 원문 (English)
OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Starting in version 3.9.0 and prior to version 4.11.0, the RSA-OAEP decryption implementation in the NXP CAAM crypto driver uses non-constant-time `memcmp()` for label hash verification and has multiple distinguishable error paths. This creates a Manger-style padding oracle that allows an attacker to recover RSA-OAEP plaintext with approximately 1000-2000 adaptive chosen ciphertext queries. Version 4.11.0 contains a patch. As a workaround, disable the NXP CAAM RSA driver with `CFG_CRYPTO_DRV_RSA=n`.
📍 영향받는 시스템
OP-TEE version 3.9.0 to prior to 4.11.0 (NXP CAAM crypto driver 사용 시)
⚔️ 공격 벡터
Manger-style padding oracle 공격 (적응형 선택 암호문 공격)
🛡️ 대응 방법
OP-TEE를 4.11.0 버전 이상으로 업데이트하거나, CFG_CRYPTO_DRV_RSA=n 설정을 통해 NXP CAAM RSA 드라이버를 비활성화합니다.
🔧 검증 코드
출력된 OP-TEE 버전이 3.9.0 이상 4.11.0 미만인지 확인합니다.
optee_version_cmd --version 2>/dev/null || echo 'Check OP-TEE version manually'