🇰🇷 한글 설명
Linux 커널의 binder 구성 요소에서 binder_get_object() 함수 호출 시 오프셋 정렬 확인이 누락되어 발생한 취약점입니다. 이전 커밋 과정에서 정렬 확인 로직이 의도치 않게 제거되어 데이터 유출 가능성이 존재합니다.
💡 쉬운 설명
컴퓨터 메모리에 데이터를 저장할 때 규칙에 맞게 위치를 맞춰야 하는데, 이 규칙을 확인하지 않아 데이터가 엉뚱하게 읽힐 수 있는 문제입니다. 이를 통해 민감한 정보가 외부로 유출될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
binder: check offset alignment in binder_get_object()
Commit 6d98eb95b450 ("binder: avoid potential data leakage when copying
txn") introduced changes to how binder objects are copied. In doing so,
it unintentionally removed an offset alignment check done through calls
to binder_alloc_copy_from_buffer() -> check_buffer().
These calls were replaced in binder_get_object() with copy_from_user(),
so now an explicit offset alignment check is needed here. This avoids
later complications when unwinding the objects gets harder.
It is worth noting this check existed prior to commit 7a67a39320df
("binder: add function to copy binder object from buffer"), likely
removed due to redundancy at the time.
📍 영향받는 시스템
Linux Kernel (binder driver를 사용하는 시스템)
⚔️ 공격 벡터
조작된 오프셋 값을 가진 binder 트랜잭션을 통해 커널 메모리 데이터 유출 시도
🛡️ 대응 방법
커널 패치(commit 6d98eb95b450 관련 수정 사항 포함)를 적용하여 최신 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 패치 버전 이후인지 확인