오픈소스 깃(Git) 호스팅 솔루션 포제오(Forgejo)의 16.0.3 및 이전 버전에서 치명적인 원격 코드 실행(RCE) 취약점이 발견되어 최신 16.0.4 버전에서 긴급 패치되었습니다. 이 취약점은 공격자가 악성 템플릿 저장소를 이용해 포제오 호스트 시스템의 임의 데이터를 읽거나, 심지어 임의의 코드를 실행할 수 있게 하는 심각한 보안 결함입니다. 이는 공개적으로 접근 가능한 포제오 인스턴스나 신뢰할 수 없는 사용자에게 저장소 생성 권한을 부여한 환경에 큰 위협이 될 수 있습니다.
이번 RCE 취약점은 저장소 생성 과정에서 발생했습니다. 포제오는 템플릿 저장소를 복제한 뒤 `.git` 폴더를 삭제하고, 템플릿 파일 내 변수를 치환한 다음 새 깃 저장소를 초기화합니다. 하지만 이 과정에서 변수 치환을 악용해 `.git` 폴더를 다시 생성할 수 있었고, 깃(Git)이 초기화 시 이 악성 `.git` 폴더를 그대로 사용하면서 문제가 발생했습니다. 16.0.4 버전에서는 변수 치환이 완료된 후에도 기존 `.git` 폴더를 다시 삭제하도록 수정하여 이 문제를 해결했습니다. 또한, API 토큰의 권한 제한을 우회하여 허용 범위를 넘어서는 변경이 가능했던 문제와, 읽기 권한만 있는 사용자나 비인증 사용자가 초안 릴리스 첨부파일에 접근할 수 있었던 접근 통제 문제도 함께 수정되었습니다.
이번 취약점은 포제오를 자체 호스팅하는 기업이나 개인 사용자에게 즉각적인 업그레이드를 요구하는 중요한 사안입니다. 특히 공개 가입을 허용하거나 신뢰도가 낮은 사용자에게 저장소 생성 권한을 부여한 환경에서는 공격자가 쉽게 시스템에 침투할 수 있는 경로가 될 수 있습니다. 이러한 보안 취약점은 오픈소스 프로젝트에서 흔히 발생할 수 있으며, 개발팀의 신속한 대응과 커뮤니티의 적극적인 참여가 보안 강화에 필수적임을 다시 한번 보여줍니다. 사용자들은 최신 보안 패치를 적용하여 잠재적인 위협으로부터 시스템을 보호해야 합니다.