[하루한줄] CVE-2021-1965: Qualcomm SnapDragon WiFi Driver RCE

URL

qcacmn: Fix out of bound issue in util_scan_parse_mbssid()

Target

SnapDragon Auto,

SnapDragon Compute,

SnapDragon Mobile,

SnapDrgaon Wired Infrastructure and Networking

Explain

SnapDragon WiFi Driver에서 발견된 Zero Click RCE 취약점입니다. multiple BSSID scan ie parse 과정에서 매개 변수의 길이 검사가 없어 buffer overflow가 가능합니다.

multiple BSSID scan ie parse를 할 때 new_ie라는 변수를 메모리에 할당하게됩니다. 문제는 util_gen_new_ie() 등의 함수에서 ie의 실제 크기가 아닌 MAX_IE_LEN == 1024를 사용하기 때문에 실제 ie의 크기가 1024보다 크다면 buffer overflow가 발생할 수 있습니다.

...
		if ((pos - new_ie + tmp_new[1] + 2) > MAX_IE_LEN) {
			qdf_mem_free(sub_copy);
			return 0;
...
				if ((pos - new_ie + tmp_old[1] + 2) >
				    MAX_IE_LEN) {
					qdf_mem_free(sub_copy);
					return 0;
...
	new_ie = qdf_mem_malloc(MAX_IE_LEN);
...