🔍 CVE-2022-49612

7.8
CVSS Score
HIGH
2025-02-26
2026-11-05 20:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 전원 공급 장치 코어 모듈에서 보간(interpolation) 경계 조건 처리가 잘못되어 있었습니다. ocv2cap 함수에서 잘못된 인덱스 계산으로 인해 high=-1이 설정되어 범위 밖 메모리 읽기(out-of-bounds read)가 발생할 수 있으며, temp2resist 함수도 올바르지 않은 보간 결과를 반환합니다.

💡 쉬운 설명

리눅스 커널 안에서 배터리 잔량이나 온도 기준 저항값을 계산하는 부분에 실수가 있었습니다. 이 실수로 시스템이 잘못된 메모리 영역을 읽어 불안정해지거나 정확하지 않은 배터리·온도 값을 표시할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: power: supply: core: Fix boundary conditions in interpolation The functions power_supply_temp2resist_simple and power_supply_ocv2cap_simple handle boundary conditions incorrectly. The change was introduced in a4585ba2050f460f749bbaf2b67bd56c41e30283 ("power: supply: core: Use library interpolation"). There are two issues: First, the lines "high = i - 1" and "high = i" in ocv2cap have the wrong order compared to temp2resist. As a consequence, ocv2cap sets high=-1 if ocv>table[0].ocv, which causes an out-of-bounds read. Second, the logic of temp2resist is also not correct. Consider the case table[] = {{20, 100}, {10, 80}, {0, 60}}. For temp=5, we expect a resistance of 70% by interpolation. However, temp2resist sets high=low=2 and returns 60.

📍 영향받는 시스템

패치 이전의 Linux 커널 (power_supply 코어 모듈을 포함한 버전, a4585ba2050f 커밋 이후)

⚔️ 공격 벡터

로컬 사용자 또는 악성 장치가 전원 공급 장치 관련 테이블 값에 영향을 줄 수 있는 조건을 만들어 범위 밖 메모리 읽기를 유발하는 방식 (정보 노출 또는 커널 불안정)

🛡️ 대응 방법

배포판 제공 커널 보안 업데이트를 적용하거나, 수정된 upstream 커널 버전으로 업그레이드하여 재부팅합니다.

🔧 검증 코드

출력된 커널 버전을 배포판 보안 공지(CVE-2022-49612 수정 버전)와 비교하여, 현재 버전이 수정 이전이면 취약한 것으로 판단하고 업데이트가 필요합니다.

Shell / Script
uname -r && (dpkg -l 'linux-image*' 2>/dev/null | grep '^ii' || rpm -qa 'kernel*' 2>/dev/null)

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel