Cargo, 심볼릭 링크 취약점으로 인한 보안 위험
Cargo의 tar 크레이트(crate)에서 심볼릭 링크(Symlink)를 악용한 임의 디렉토리 권한 변경 취약점(Arbitrary Directory Permission Change Vulnerability) 발생
crates.io 레지스트리(Registry)는 이미 해당 취약점을 악용하는 크레이트 업로드를 차단하고, 기존 크레이트 검사 완료
Rust 1.94.1 릴리스를 통해 tar 크레이트 패치(Patch)를 포함한 보안 업데이트 제공 예정
Tar, Zip 등 아카이브 파일(Archive Files)의 보안 취약성에 대한 개발자들의 우려가 제기됨
심볼릭 링크(Symlink) 취약점 분석
이번 CVE-2026-33056은 Cargo가 패키지 압축 해제 과정에서 심볼릭 링크(Symlink)를 잘못 처리하여 발생한다. 특히, 악의적인 크레이트가 임의의 디렉토리(Arbitrary Directory)에 대한 권한을 변경할 수 있는 문제가 핵심이다. mk12는 심볼릭 링크를 안전하게 처리하는 방법의 어려움을 언급하며, `O_NOFOLLOW` 플래그(Flag) 사용의 중요성을 강조한다. 이는 심볼릭 링크를 따라가지 않도록 하여 예상치 못한 파일 시스템 조작을 방지한다.
crates.io의 대응 및 예방 조치
crates.io는 해당 취약점을 악용하는 크레이트의 업로드를 차단하기 위한 조치를 취했다. 또한, 기존에 업로드된 모든 크레이트에 대한 검사를 완료하여 추가적인 위험 요소를 제거했다. 이러한 사전 예방 조치(Proactive Measures)는 Rust 생태계의 보안을 강화하는 데 기여했다. Rust Security Response Team은 Sergei Zimmerman의 제보에 감사를 표하며, William Woodruff의 지원을 통해 신속하게 대응할 수 있었다고 밝혔다.
Tar 아카이브(Archive) 파일의 보안 문제
커뮤니티에서는 Tar, Zip과 같은 아카이브 파일의 보안 취약성에 대한 우려가 제기되었다. cmcaine은 Julia의 Tar 패키지가 이러한 문제를 피하기 위해 신중하게 설계되었음을 언급하며, junon은 JavaScript의 Tar 패키지에서도 유사한 취약점이 발생했음을 지적했다. masklinn은 아카이브 파일의 압축 해제 과정에서 발생하는 보안 위험을 강조하며, addison은 Zip Slip 공격의 위험성을 언급했다. 이러한 논의는 아카이브 파일 처리 시 보안에 대한 각별한 주의가 필요함을 시사한다.
Rust 1.94.1 릴리스 및 향후 대응
Rust 팀은 Rust 1.94.1 릴리스를 통해 취약점이 있는 tar 크레이트를 패치할 예정이다. 이 업데이트는 Cargo를 사용하는 사용자들에게 보안 개선을 제공할 것이다. 하지만, 대체 레지스트리를 사용하는 사용자들은 자체적으로 해당 레지스트리의 보안 상태를 확인해야 한다. Rust 팀은 향후에도 지속적인 보안 업데이트를 통해 생태계의 안전성을 유지할 것으로 예상된다.