[해외보안뉴스] 37년 된 공유 메모리 오류 연계해 OpenBSD 루트 권한 취득하는 취약점 공개
보안 전문 기업 캘리프(Calif) 연구진이 약 37년 동안 존재했던 공유 메모리 정수 오버플로우 취약점과 별도의 커널 결함을 연계하여 OpenBSD 7.9 시스템의 최고 관리자(root) 권한을 획득하는 로컬 권한 상승(LPE) 익스플로잇을 공개했습니다. 이번 공격 기법은 OpenBSD의 주요 보안 방어선인 커널 주소 재배치 기술 KARL(Kernel Address Randomized Link)은 물론, 하드웨어 보안 방어 기법인 SMAP(Supervisor Mode Access Prevention)과 SMEP(Supervisor Mode Execution Prevention)까지 모두 우회하는 것으로 확인되었습니다.
이번에 발견된 취약점은 수십 년 동안 커널 코드 베이스에 남아 있던 공유 메모리 처리 로직의 결함에서 비롯되었습니다. 공격자는 로컬 사용자 계정에서 출발하여 이 오버플로우 결함을 다른 커널 오류와 체인 형태로 연결함으로써 메모리 보호 체계를 단계적으로 무력화하고 최종적으로 최상위 권한을 탈취할 수 있습니다. 보안에 엄격하다고 알려진 OpenBSD의 주요 커널 보호 기능들이 무력화되었다는 점에서 기술적인 의미가 큽니다.
캘리프 연구진은 해당 결함을 발견한 후 OpenBSD 개발 팀에 제보하였으며, OpenBSD 측은 이를 수정하는 공식 패치를 출시했습니다. 패치 배포가 완료된 이후 연구진은 상세 분석 보고서와 함께 개념 증명(PoC) 코드를 공개했습니다. 따라서 OpenBSD 7.9 및 관련 시스템을 운용 중인 관리자는 권한 상승 공격으로부터 시스템을 보호하기 위해 즉시 패치를 적용하고 시스템을 최신 상태로 업데이트해야 합니다.
37년 된 정수 오버플로우 취약점이 체이닝되어 KARL, SMAP/SMEP 같은 고도화된 커널 방어기법까지 우회되었다는 점이 큰 경각심을 줍니다. 아무리 훌륭한 아키텍처적 난독화나 하드웨어 보안 기능이라도, 레거시 C 코드에 숨어있는 기초적인 연산 결함 앞에서는 완벽한 방패가 될 수 없음을 보여줍니다. 오래된 시스템 모듈과 공유 메모리 로직에 대한 엄격한 경계값 검사(Bounds Checking) 및 정적 분석을 통한 근본적인 코드 오디팅이 시급합니다.
보안을 최우선으로 하는 OpenBSD조차 37년 된 고전적인 정수 오버플로우 취약점과 커널 결함을 연쇄 활용(Chaining)하여 Root 권한을 탈취할 수 있음을 보여준 매우 위협적인 공격 벡터입니다. 특히 KARL, SMAP, SMEP 등 강고한 현대적 커널 보호 기법들을 모두 무력화했다는 점에서 공격자 및 침투 테스터 입장에서 매우 높은 가치를 가집니다. 이미 수록된 PoC 코드가 공개되었으므로 타깃 시스템 내 내부 침투(Post-Exploitation) 단계에서 유효한 권한 상승 경로로 즉시 활용될 수 있어 빠르게 패치를 확인해야 합니다.
보안성이 높다고 평가받는 OS조차 30년이 넘은 레거시 코드의 위험에서 자유롭지 않다는 점을 다시금 일깨워주는 사례입니다. 하드웨어 기반의 최신 메모리 보호 기법도 복합적인 취약점 체이닝(Exploit Chaining) 공격 앞에서는 무력화될 수 있으므로 단일 보안 기술에만 의존해서는 안 됩니다. 공격 코드(PoC)가 공개된 만큼 관련 자산에 대한 즉각적인 패치를 수행하고, 조직 내 숨겨진 레거시 유닉스계열 시스템과 종속성에 대한 종합적인 리스크 점검을 추진하겠습니다.