🇰🇷 한글 설명
Linux 커널의 rcar-ep PCI 드라이버에서 devm_request_mem_region() 호출 시 잘못된 변수를 사용하여 발생하는 취약점입니다. 스택에 저장된 문자열 변수가 동적으로 계산된 리소스 이름을 저장하는 과정에서 정의되지 않은 동작을 유발할 수 있습니다. 이로 인해 메모리 정보가 잘못 표시되거나, 드물게 시스템 충돌이 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 부품 정보를 관리하는 프로그램에서 이름을 잘못 적어 메모리 정보가 엉뚱하게 표시되거나 시스템이 멈출 수 있는 문제입니다. 잘못된 이름 때문에 컴퓨터가 엉뚱한 메모리 주소를 읽으려다 오류가 발생하는 상황입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
PCI: rcar-ep: Fix incorrect variable used when calling devm_request_mem_region()
The rcar_pcie_parse_outbound_ranges() uses the devm_request_mem_region()
macro to request a needed resource. A string variable that lives on the
stack is then used to store a dynamically computed resource name, which
is then passed on as one of the macro arguments. This can lead to
undefined behavior.
Depending on the current contents of the memory, the manifestations of
errors may vary. One possible output may be as follows:
$ cat /proc/iomem
30000000-37ffffff :
38000000-3fffffff :
Sometimes, garbage may appear after the colon.
In very rare cases, if no NULL-terminator is found in memory, the system
might crash because the string iterator will overrun which can lead to
access of unmapped memory above the stack.
Thus, fix this by replacing outbound_name with the name of the previously
requested resource. With the changes applied, the output will be as
follows:
$ cat /proc/iomem
30000000-37ffffff : memory2
38000000-3fffffff : memory3
[kwilczynski: commit log]
📍 영향받는 시스템
Linux kernel (rcar-ep PCI driver 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 잘못된 메모리 정보를 유도하거나 시스템 충돌을 일으킬 수 있음
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.