🔍 CVE-2022-50678

0.0
CVSS Score
UNKNOWN
2025-12-09
2026-11-10 12:10
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 Wi-Fi 드라이버 brcmfmac에서 SCAN 로그 레벨을 활성화할 때 잘못된 주소에 접근하는 문제가 해결되었습니다. 랜덤 MAC 주소 설정 과정에서 변수 i가 변경되어 pi->reqs[i]->reqid 출력 시 NULL 포인터 역참조가 발생했으며, 이를 ri 인덱스로 교체하여 수정했습니다.

💡 쉬운 설명

무선랜 드라이버가 특정 로그 설정을 켤 때 잘못된 메모리 위치를 읽어 시스템이 멈추거나 재부팅될 수 있는 문제입니다. 해당 드라이버를 사용하는 기기에서 커널 업데이트로 해결할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix invalid address access when enabling SCAN log level The variable i is changed when setting random MAC address and causes invalid address access when printing the value of pi->reqs[i]->reqid. We replace reqs index with ri to fix the issue. [ 136.726473] Unable to handle kernel access to user memory outside uaccess routines at virtual address 0000000000000000 [ 136.737365] Mem abort info: [ 136.740172] ESR = 0x96000004 [ 136.743359] Exception class = DABT (current EL), IL = 32 bits [ 136.749294] SET = 0, FnV = 0 [ 136.752481] EA = 0, S1PTW = 0 [ 136.755635] Data abort info: [ 136.758514] ISV = 0, ISS = 0x00000004 [ 136.762487] CM = 0, WnR = 0 [ 136.765522] user pgtable: 4k pages, 48-bit VAs, pgdp = 000000005c4e2577 [ 136.772265] [0000000000000000] pgd=0000000000000000 [ 136.777160] Internal error: Oops: 96000004 [#1] PREEMPT SMP [ 136.782732] Modules linked in: brcmfmac(O) brcmutil(O) cfg80211(O) compat(O) [ 136.789788] Process wificond (pid: 3175, stack limit = 0x00000000053048fb) [ 136.796664] CPU: 3 PID: 3175 Comm: wificond Tainted: G O 4.19.42-00001-g531a5f5 #1 [ 136.805532] Hardware name: Freescale i.MX8MQ EVK (DT) [ 136.810584] pstate: 60400005 (nZCv daif +PAN -UAO) [ 136.815429] pc : brcmf_pno_config_sched_scans+0x6cc/0xa80 [brcmfmac] [ 136.821811] lr : brcmf_pno_config_sched_scans+0x67c/0xa80 [brcmfmac] [ 136.828162] sp : ffff00000e9a3880 [ 136.831475] x29: ffff00000e9a3890 x28: ffff800020543400 [ 136.836786] x27: ffff8000b1008880 x26: ffff0000012bf6a0 [ 136.842098] x25: ffff80002054345c x24: ffff800088d22400 [ 136.847409] x23: ffff0000012bf638 x22: ffff0000012bf6d8 [ 136.852721] x21: ffff8000aced8fc0 x20: ffff8000ac164400 [ 136.858032] x19: ffff00000e9a3946 x18: 0000000000000000 [ 136.863343] x17: 0000000000000000 x16: 0000000000000000 [ 136.868655] x15: ffff0000093f3b37 x14: 0000000000000050 [ 136.873966] x13: 0000000000003135 x12: 0000000000000000 [ 136.879277] x11: 0000000000000000 x10: ffff000009a61888 [ 136.884589] x9 : 000000000000000f x8 : 0000000000000008 [ 136.889900] x7 : 303a32303d726464 x6 : ffff00000a1f957d [ 136.895211] x5 : 0000000000000000 x4 : ffff00000e9a3942 [ 136.900523] x3 : 0000000000000000 x2 : ffff0000012cead8 [ 136.905834] x1 : ffff0000012bf6d8 x0 : 0000000000000000 [ 136.911146] Call trace: [ 136.913623] brcmf_pno_config_sched_scans+0x6cc/0xa80 [brcmfmac] [ 136.919658] brcmf_pno_start_sched_scan+0xa4/0x118 [brcmfmac] [ 136.925430] brcmf_cfg80211_sched_scan_start+0x80/0xe0 [brcmfmac] [ 136.931636] nl80211_start_sched_scan+0x140/0x308 [cfg80211] [ 136.937298] genl_rcv_msg+0x358/0x3f4 [ 136.940960] netlink_rcv_skb+0xb4/0x118 [ 136.944795] genl_rcv+0x34/0x48 [ 136.947935] netlink_unicast+0x264/0x300 [ 136.951856] netlink_sendmsg+0x2e4/0x33c [ 136.955781] __sys_sendto+0x120/0x19c

📍 영향받는 시스템

Broadcom brcmfmac 무선랜 드라이버를 사용하는 리눅스 커널 (수정 이전 버전, 예: 4.19 계열 임베디드 기기)

⚔️ 공격 벡터

로컬 사용자 또는 권한 있는 프로세스가 무선 스캔(sched scan) 요청을 유발하여 커널 패닉 또는 서비스 거부를 일으킬 수 있습니다.

🛡️ 대응 방법

리눅스 커널을 해당 수정이 포함된 최신 안정 버전으로 업데이트하거나 배포판 보안 패치를 적용하십시오.

🔧 검증 코드

커널 버전을 확인해 패치된 최신 버전인지 비교하며, brcmfmac 모듈이 로드되어 있으면 해당 드라이버가 사용 중이므로 패치 적용 여부를 점검해야 합니다.

Shell / Script
uname -r && (dpkg -l linux-image-$(uname -r) 2>/dev/null || rpm -q kernel 2>/dev/null) && lsmod | grep brcmfmac

💻 영향받는 소프트웨어

Linux Kernel