🔍 CVE-2022-49436

5.5
CVSS Score
MEDIUM
2025-02-26
2026-11-05 20:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 powerpc/papr_scm 드라이버에서 papr_scm_priv.nvdimm_events_map의 'char *' 요소들이 papr_scm_remove() 및 papr_scm_pmu_register(), papr_scm_pmu_check_events()의 오류 경로에서 해제되지 않아 메모리 누수가 발생합니다. 또한 stat_id는 NULL 종료 문자열이 아닌 8바이트 고정 크기 식별자인데 일부 코드에서 문자열로 취급되어 문제가 됩니다. 수정 방식은 이벤트 맵 배열 할당 시 stat_id 공간을 함께 포함하도록 변경하는 것입니다.

💡 쉬운 설명

서버 하드웨어 관리 코드가 사용한 메모리를 제대로 반납하지 않아 시간이 지나면 메모리가 줄어드는 문제입니다. 고정 길이 식별자를 문자열처럼 다루는 실수도 함께 있어 수정이 필요합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: powerpc/papr_scm: Fix leaking nvdimm_events_map elements Right now 'char *' elements allocated for individual 'stat_id' in 'papr_scm_priv.nvdimm_events_map[]' during papr_scm_pmu_check_events(), get leaked in papr_scm_remove() and papr_scm_pmu_register(), papr_scm_pmu_check_events() error paths. Also individual 'stat_id' arent NULL terminated 'char *' instead they are fixed 8-byte sized identifiers. However papr_scm_pmu_register() assumes it to be a NULL terminated 'char *' and at other places it assumes it to be a 'papr_scm_perf_stat.stat_id' sized string which is 8-byes in size. Fix this by allocating the memory for papr_scm_priv.nvdimm_events_map to also include space for 'stat_id' entries. This is possible since number of available events/stat_ids are known upfront. This saves some memory and one extra level of indirection from 'nvdimm_events_map' to 'stat_id'. Also rest of the code can continue to call 'kfree(papr_scm_priv.nvdimm_events_map)' without needing to iterate over the array and free up individual elements.

📍 영향받는 시스템

패치가 적용되지 않은 PowerPC 기반 Linux 커널 (papr_scm 드라이버 사용 환경, 수정 전 커널 버전)

⚔️ 공격 벡터

로컬 공격자가 직접 악용하기는 어려우며, 주로 장기간 실행 시 메모리 누수로 인한 서비스 안정성 저하가 주된 영향입니다.

🛡️ 대응 방법

해당 수정이 포함된 최신 Linux 커널 버전으로 업데이트하거나 배포판의 보안 업데이트를 적용하세요.

🔧 검증 코드

커널 버전을 확인해 배포판 보안 공지에서 해당 패치 포함 여부를 대조하고, papr_scm 모듈이 로드되어 있는지 확인합니다. 출력이 없으면 해당 드라이버가 사용되지 않는 환경입니다.

Shell / Script
uname -r && grep -E 'PAPR_SCM|papr_scm' /proc/modules 2>/dev/null; lsmod | grep papr_scm

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel