🇰🇷 한글 설명
Linux 커널의 s390 아키텍처 엔트리 처리에서, 커밋 f33f2d4c7c80으로 TIF_ISOLATE_BP가 제거되며 r12 레지스터 로드는 빠졌지만 레지스터 초기화(scrub) 목록에는 r12가 추가되지 않았습니다. 이 커밋은 모든 엔트리 지점에서 r12를 0으로 초기화하도록 누락된 명령을 추가하여 레지스터 정리를 일관되게 만듭니다.
💡 쉬운 설명
커널이 프로그램 실행 경로로 진입할 때 사용하던 임시 레지스터 한 곳이 정리되지 않고 남아 있던 문제입니다. 이를 비워서 이전 값이 남아 정보가 새는 것을 막도록 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
s390/entry: Scrub r12 register on kernel entry
Before commit f33f2d4c7c80 ("s390/bp: remove TIF_ISOLATE_BP"),
all entry handlers loaded r12 with the current task pointer
(lg %r12,__LC_CURRENT) for use by the BPENTER/BPEXIT macros. That
commit removed TIF_ISOLATE_BP, dropping both the branch prediction
macros and the r12 load, but did not add r12 to the register clearing
sequence.
Add the missing xgr %r12,%r12 to make the register scrub consistent
across all entry points.
📍 영향받는 시스템
패치가 적용되지 않은 IBM System z(s390) 아키텍처의 Linux 커널 (f33f2d4c7c80 이후 버전)
⚔️ 공격 벡터
로컬 사용자가 커널 엔트리 경로에 남은 r12 레지스터의 잔여 값을 간접적으로 관찰하여 민감한 커널 정보를 유출할 수 있습니다.
🛡️ 대응 방법
배포판 제공 최신 커널 업데이트를 적용하고 시스템을 재부팅하세요.
🔧 검증 코드
출력된 커널 버전이 배포판의 보안 권고에서 수정된 버전 이상인지 확인하고, s390 아키텍처가 아니면 이 취약점의 영향을 받지 않습니다 (uname -m 으로 확인 가능).