취약점/CVE
깃랩 RCE 유발한 4년 묵은 Parser 버그... 루비 안전망도 무너졌다
#취약점/CVE#GitLab#JSON Parser#Jupyter Notebook; .ipynb
요약 : 사이버보안 연구소 뎁스퍼스트(depthfirst)가 루비 환경에서 널리 쓰이는 고성능 JSON Parser 「Oj」 gem에서 총 18개의 주요 취약점과 7개의 메모리 안전성 위반을 발견했으며, 이 중 버퍼 경계 초과 쓰기(Out-of-bounds write)와 힙 포인터 노출(Heap-pointer disclosure) 2종이 결합되어 메모리 안전 언어인 루비로 구축된 깃랩(GitLab)에서도 원격 코드 실행(RCE)이 가능한 공격 체인이 성립했고, 공격 진입점은 JSON 구조로 저장되는 주피터 노트북(.ipynb) 파일의 차이점(Diff) 렌더링 기능으로 공격자가 조작된 .ipynb 파일을 커밋한 뒤 브라우저에서 해당 커밋의 diff 페이지를 조회하는 것만으로 푸마(Puma) 워커 프로세스 내부에서 코드가 실행되며, 이 결함은 2021년 8월 유입 후 약 5년간 방치되어 깃랩 CE·EE 15.2.0부터 18.11.4 및 19.0.1까지 영향을 미쳤고 Oj 3.17.3 버전으로 긴급 패치되었으며, 전문가는 단순 패치를 넘어 사용자 입력이 도달하는 내부 Parser까지 확장한 위협 모델링과 「Secure by Design」 검토가 필요하다고 강조했다는 것이 기사의 주된 메시지입니다.
느낀점/소감 : 확실히 확장모듈이나 이런 부가 기능에 대한 점검도 필요할 것 같다. 메인은 심혈을 기울여서 만들었겠지만 주로 취약한 부분은 확장 모듈이나 부가 기능에서 많이 발생하기 때문에 이런 점검도 필요할 것 같다.