UEFI 펌웨어에서 치명적 취약점 발견

많은 제조사가 UEFI 펌웨어 개발의 기반으로 삼는 오픈소스 소프트웨어 TianoCore EDK II에서 치명적인 취약점이 발견됐다. Ars Technica가 보도했다. 이 문제에는 CVE-2026-97631이라는 식별번호가 부여됐으며, 위험도는 10점 만점에 9.5점으로 평가됐다. 이 취약점은 운영체제가 시작되기 전에 악성 코드를 실행할 수 있게 한다.

UEFI 펌웨어에서 치명적 취약점 발견
사진: Egor Komarov

원인은 네트워크 부팅 구성 요소인 PXE Base Code의 버퍼 오버플로 오류다. 네트워크 부팅 과정에서 이 구성 요소는 ICMP 오류 메시지를 처리한다. 메시지마다 504바이트의 메모리가 할당되지만, 들어오는 데이터의 길이는 검증되지 않는다. 메시지가 허용 크기를 초과하면 데이터 일부가 인접한 메모리 영역에 기록된다.

공격을 수행하려면 공격자가 네트워크로 부팅 중인 장치에 특수하게 조작된 네트워크 메시지를 보내야 한다. 이는 부팅 중 오류를 일으킬 수 있으며, 특정 펌웨어 버전의 특성을 알고 있다면 프로세서 최고 권한으로 임의의 코드를 실행할 수 있다. 이 경우 신뢰 부팅 체인이 무너지고 TPM이나 암호화된 디스크에 접근할 수 있게 될 수도 있다. 재부팅 후에는 악성 코드가 남지 않지만, 실행되는 동안 장치에 추가 페이로드를 설치할 수 있다.

실제로 이 취약점을 악용하려면 탈취된 계정 등을 통한 로컬 네트워크 접근, 또는 조직 내부에서의 다른 형태의 거점이 필요하다. CVE-2026-97631 자체만으로는 네트워크에 침투할 수 없다. 위협은 네트워크 부팅을 사용하는 장치, 특히 PXE를 지원하는 EDK II 기반 펌웨어에만 해당한다. 내장 저장장치로 부팅하는 시스템은 영향을 받지 않는다.

EDK II 코드는 AMI, Insyde, Phoenix 등 펌웨어 공급업체가 사용하며, 취약한 코드는 마이크로소프트가 보안 중심으로 개선한 변형인 Project Mu에도 포함돼 있다. 상당수의 시스템이 위험에 처해 있다. 이 취약점은 Anthropic의 알렉스 마트로소프와 구글의 댄 홈스미트라가 발견했으며, 두 사람은 2027년 1월까지 세부 내용을 공개하지 않기로 합의했다. 그러나 9월에 AMI가 문제 설명과 해결책이 담긴 코드 업데이트를 공개했고, 이후 TianoCore 프로젝트도 정보를 공개했다.

수정 사항이 포함된 코드가 공개돼 있어, 공격자가 이를 분석해 취약점을 악용할 방법을 찾을 위험이 있다. 수백만 대의 시스템이 영향권에 있는 만큼 펌웨어 개발과 업데이트 배포에는 많은 시간이 걸릴 전망이다. 인텔은 보안 업데이트를 제공하는 자사 상용 제품 중 취약한 모델은 확인되지 않았다고 밝혔다. 문제의 구성 요소는 인텔의 기준 코드에 포함돼 있지 않지만, 메인보드 및 컴퓨터 제조사가 사용할 수는 있다. Arm은 이 문제가 자사 제품과 무관하다고 강조했다. 네트워크 부팅을 사용하는 조직에는 펌웨어 공급업체에 자사 장비가 영향을 받는지, 수정은 언제 제공되는지 확인하고, 가능하다면 네트워크 부팅을 일시적으로 비활성화할 것이 권고된다.