🇰🇷 한글 설명
Linux kernel의 i2c smbus 드라이버에서 target-only 모드 사용 시 transfer 함수 포인터가 NULL일 수 있음을 확인하지 않아 NULL 포인터 역참조 오류가 발생합니다. __i2c_transfer 함수에 포인터 유효성 검사를 추가하여 수정되었습니다.
💡 쉬운 설명
I2C 디바이스 드라이버가 특정 모드에서 필요한 함수 포인터를 제대로 확인하지 않아 시스템이 중단될 수 있습니다. 커널 업데이트를 통해 함수 존재 여부를 먼저 확인하도록 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
i2c: smbus: fix NULL function pointer dereference
Baruch reported an OOPS when using the designware controller as target
only. Target-only modes break the assumption of one transfer function
always being available. Fix this by always checking the pointer in
__i2c_transfer.
[wsa: dropped the simplification in core-smbus to avoid theoretical regressions]
📍 영향받는 시스템
Linux kernel (designware i2c controller target-only 모드 사용하는 모든 버전)
⚔️ 공격 벡터
Target-only 모드의 I2C 컨트롤러 사용 시 NULL 포인터 역참조로 인한 커널 패닉 및 서비스 거부(DoS)
🛡️ 대응 방법
Linux kernel 보안 패치 적용 또는 최신 버전으로 업그레이드
🔧 검증 코드
커널 버전을 확인한 후 dmesg 로그에서 smbus 또는 i2c 관련 NULL 포인터 오류가 있는지 확인합니다. 오류 메시지가 없으면 시스템이 안전한 상태입니다.
uname -r && dmesg | grep -iE 'smbus|i2c.*oops|null.*pointer' || echo 'No NULL pointer errors detected'