🔍 CVE-2026-93190

8.4
CVSS Score
HIGH
2026-09-17
2026-10-19 10:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ChromeOS 플랫폼 드라이버에서 발생하는 취약점으로, EC(Embedded Controller)로부터 전달받은 PD(Power Delivery) 객체 개수가 고정된 배열 크기를 초과할 경우 스택 버퍼 오버플로우가 발생합니다. 이로 인해 메모리 손상 및 시스템 불안정성이 초래될 수 있습니다.

💡 쉬운 설명

기기 충전 관련 정보를 처리할 때, 들어오는 정보의 양이 미리 정해둔 그릇보다 많으면 넘쳐흐르는 문제가 있습니다. 이 넘친 정보가 시스템의 중요한 영역을 덮어써서 컴퓨터가 고장 나거나 해킹될 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: platform/chrome: cros_ec_typec: Reject out-of-bounds PD cap count cros_typec_register_partner_pdos() copies the partner PDOs from the EC TYPEC_STATUS response into the fixed caps_desc.pdo[PDO_MAX_OBJECTS] array. memcpy(caps_desc.pdo, resp->source_cap_pdos, sizeof(u32) * resp->source_cap_count); ... memcpy(caps_desc.pdo, resp->sink_cap_pdos, sizeof(u32) * resp->sink_cap_count); PDO_MAX_OBJECTS is 7. source_cap_count and sink_cap_count are u8 fields from the EC. The only check is that they are not both zero. If either is larger than 7, the memcpy writes past the end of the array on the stack. A count of 255 overflows it by about 1 KB. The EC source arrays are only seven entries wide. A larger count reads past them too. The ChromeOS EC firmware caps these counts today, so a compliant setup does not hit this. The kernel should still validate these values rather than trust them. Validate the counts in cros_typec_register_partner_pdos() next to the memcpy. Skip the PDO registration if either count is above PDO_MAX_OBJECTS. The rest of cros_typec_handle_status() still runs so events are handled and cleared.

📍 영향받는 시스템

Linux kernel (platform/chrome: cros_ec_typec 관련 모듈 포함 버전)

⚔️ 공격 벡터

조작된 EC(Embedded Controller) 응답을 통해 잘못된 PD 객체 개수(count)를 전달하여 스택 오버플로우 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 PDO 개수 검증 로직 적용

🔧 검증 코드

출력된 커널 버전을 확인하여 해당 취약점이 패치된 최신 버전인지 보안 공지(Changelog)와 대조하여 확인

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel