Rust 이슈 164250은 공변 필드에 짧은 수명의 참조를 대입해 구조체의 수명 요구를 우회하는 건전성 결함을 재현했다. 특수한 Drop 구현을 통해 safe 코드에서도 유효기간이 끝난 메모리에 접근할 수 있고, 오래된 버전에서도 재현 사례가 보고됐다. 관리자는 우연히 발생하기 어려운 조건을 고려해 높은 우선순위로 분류했으며 확인 시점에는 연결된 수정 PR이 없었다. Rust의 Project Zero는 이런 알려진 타입 시스템 결함을 제거하려는 별도 로드맵이다.
Tech로 돌아가기
Tech
Rust, 수명 제약 우회하는 장기 건전성 버그 확인
safe 코드도 언어 구현의 결함에서는 예외가 아니며 수정 버전이 확인되기 전 패치 완료로 판단하면 안 된다.