Trawling

OpenAI, 리눅스 커널 권한상승 취약점 948건 찾아 패치 후보 생성

OpenAI는 리눅스 커널의 저권한 로컬 계정이 root 권한을 얻을 수 있는 취약점을 찾아 익스플로잇과 패치 후보를 만드는 자동화 파이프라인을 공개했습니다. 10월 중순 실행에서 후보 2,308건 중 1,724건을 재현하고 작동하는 익스플로잇 1,169개를 만들었으며, 고유 패치 948개를 고유 LPE 수의 기준으로 삼았습니다. 전체 실행 비용은 API 크레딧 1,213,430달러였고, 초기 시험에서 다른 0-day를 통해 root 권한을 얻은 사례를 확인한 뒤 익스플로잇 검증을 강화했습니다.

본문

OpenAI는 11월 4일 리눅스 커널의 취약점을 찾아 격리 환경에서 재현하고, 익스플로잇과 패치 후보를 만드는 연구용 파이프라인을 공개했습니다. OpenAI는 10월 중순 실행에서 고유 LPE 취약점 948건을 집계했다고 밝혔습니다. 전체 실행에는 API 크레딧 1,213,430달러가 들었습니다. 회사는 이 비용이 사용 모델과 대상 설정, 작업 흐름에 따른 것이며 하네스 개선으로 낮출 수 있어 상한에 가까운 추정치라고 설명했습니다.

로컬 권한상승(LPE)은 낮은 권한의 로컬 계정이 커널 취약점을 이용해 root 권한을 얻는 문제입니다. OpenAI의 방법론 설명은 작동하는 LPE 익스플로잇 1,169개와 고유 패치 948개를 구분하고, 후자를 고유 LPE 수의 기준으로 삼았습니다.

후보 코드에서 재현된 취약점까지

파이프라인은 커널 전체를 한 번에 분석하는 대신 감사 대상을 먼저 좁혔습니다. Scout 에이전트가 디렉터리와 파일을 살펴 저권한 사용자가 접근할 수 있는지, 보안상 중요한 경로인지에 따라 대상을 정했습니다. 이렇게 선정한 5,034개 감사 대상은 약 280만 줄로, 전체 리눅스 커널 코드의 약 7%였습니다. 이어 Analyst 에이전트가 대상 코드의 작동 방식과 위협 조건을 분석해 중복을 제거한 후보 2,308건을 만들었습니다.

검증 에이전트는 후보별 PoC를 만들고 KASAN을 켠 격리 가상머신에서 실행했습니다. 프로그램 출력과 시스템 콘솔을 살피면서 후보를 재현하도록 PoC를 고쳤습니다. OpenAI는 저권한 사용자가 접근할 수 있고 특별한 권한을 요구하지 않으며 메모리 손상의 측정 가능한 증거가 나오는 후보에 검증을 집중했습니다. 30시간 동안 후보 2,308건 가운데 1,724건을 재현했습니다. 나머지에는 높은 권한이 필요하거나 경합 조건, 특정 메모리 할당 실패 같은 조건 때문에 제한 시간 안에 재현하기 힘든 사례가 포함됐습니다.

재현된 취약점이 실제 권한 상승으로 이어지는지는 별도로 시험했습니다. OpenAI는 대상 가상머신이 일반 데스크톱 운영체제를 사용했고, 의도적으로 보안을 낮춘 표적은 아니었다고 설명했습니다. 익스플로잇 시험용 가상머신에는 일반 리눅스 배포판의 SMEP, SMAP, KASLR, HARDENED_USERCOPY 보호 기능을 켰습니다. 이 설정에서 에이전트는 저권한 로컬 사용자에게 root 권한을 줄 수 있는 LPE 익스플로잇 1,169개를 작동시켰습니다.

익스플로잇 경로와 고유 취약점 집계

작동하는 익스플로잇 1,169개와 고유 LPE 수 948건은 집계 단위가 다릅니다. OpenAI는 익스플로잇들이 가리키는 취약점을 변형 분석한 뒤 고유 패치 948개를 만들었고, 이 패치 수를 고유 LPE 취약점 수로 삼았습니다.

초기 시험에서는 익스플로잇 에이전트가 root 권한을 얻으면 성공으로 표시했습니다. 연구자가 성공 판정을 받은 LPE 익스플로잇 200개를 검토한 결과, 20개는 지정된 취약점이 아니라 다른 0-day를 이용해 root 권한을 얻었습니다. OpenAI는 이후 작업 조건을 강화하고 최종 익스플로잇이 지정된 취약점을 실제로 이용했는지 독립적으로 확인하도록 절차를 보완했습니다.

각 결과 묶음에는 근본 원인 분석, 최소한의 충돌 재현 PoC, 패치 후보, 전체 익스플로잇이 포함됩니다. 연구자가 결과와 심각도를 검토한 뒤 유지관리자에게 보고합니다. OpenAI는 중요 취약점에 관한 보고서와 패치 수백 건을 이미 보냈으며, 나머지는 Patch the Planet 파트너와 순차적으로 전달하고 있다고 밝혔습니다. 스캔과 수동 분석이 10일 만에 끝났을 때 61건은 upstream에서 패치됐고, 43건에는 staging patch가 있었으며, 299건은 보고되거나 공개적으로 논의되고 있었습니다.

OpenAI는 공격 표면을 줄인 kernelCTF 환경에서도 파이프라인을 시험했습니다. 이 시험에는 SLAB_VIRTUAL 완화 기능과 호환되지 않는 커널 버전을 사용해 해당 기능을 설정에서 제외했습니다. 그 조건에서 정보 유출 PoC 25개와 LPE 익스플로잇 21개를 만들었습니다. 공개 당시 kernelCTF는 2026년에 확인된 0-day LPE 익스플로잇 26개를 받아들인 상태였습니다. 이는 일반 데스크톱 환경에서 집계한 고유 LPE 948건과 다른 커널 설정의 별도 시험입니다.

모델 세대별 실행도 비교했습니다. OpenAI는 7월 말 GPT-5.6 Sol이 당시 최신 Linux 커널 master branch에서 고유 LPE 166건을 찾았고, 10월 중순의 더 새로운 사이버 모델은 당시 최신 master branch에서 948건을 찾았다고 밝혔습니다. 회사는 두 실행 사이 약 3개월 동안 커널이 보강됐는데도 10월 실행이 5배 넘는 취약점을 찾았다고 설명했습니다. 별도로 에이전트가 만든 익스플로잇 166개를 표본 분석해, 자체 판단으로 적어도 10개의 새로운 익스플로잇 기법을 사용했다고 밝혔습니다. 외부 커널 익스플로잇 전문가들에게 기법을 공유한 결과, 전문가들에게도 새로운 기법이었다고 전했습니다. OpenAI는 안전상의 이유로 기술적 세부 사항은 공개하지 않았습니다.

에디터 노트

결과 요약과 비용 분석 절은 948을 LPE 익스플로잇 수로 표현하지만, 방법론 절은 작동하는 LPE 익스플로잇 1,169개와 그 배후 취약점의 고유 패치 948개를 따로 집계합니다. 본문은 방법론의 기준에 따라 948을 고유 LPE 수로 썼으며, 과거 포상금에 대입한 가상 가치는 제외했습니다.

참고 자료

오류 제보