StartupXO
Buscar
Español

러스트 컴파일러가 이미 사라진 데이터를 가리키는 코드를 통과시키는 11년 된 버그가 공개됨(github.com)

startupxo Conversar

Idioma del texto: coreanoVer traducción

Resumen / Leer la fuente ↗

- Rust 컴파일러는 데이터가 사라진 뒤에도 그 데이터를 가리키는 코드를 막아야 한다. 깃허브 rust-lang/rust 이슈 164250은 구조체 필드에 짧은 수명의 참조를 넣어 이 검사를 우회할 수 있다고 보고한다. - 원문 예시에서는 프로그램이 컴파일되어 이미 해제된 메모리 값을 출력했다. 주소 검사 도구인 AddressSanitizer를 켜면 stack-use-after-scope 오류로 중단됐다고 이슈 작성자가 적었다. 이는 작성자가 보고한 결과다. - 작성자는 nightly(정식 배포 전 시험판)와 1.85.0 이상 안정 버전에서 재현된다고 적었다. 1.18.0 이후 같은 코드가 컴파일됐다는 내용은 댓글 작성자의 경험담이다. - 이슈 본문은 이 문제를 P-high(높은 우선순위)로 분류하고, 악용하려면 의도적으로 만든 Drop 구현이 필요하다고 설명했다. 이는 이슈 작성자들의 판단이며, 원문에서 수정 코드나 수정 배포 버전은 확인되지 않았다.
Encontrado en

Hacker News ↗ / 400 votos / 205 comentarios

¿Te ha pasado algo parecido? Cuéntanos en una o dos líneas qué hiciste. No hace falta conocer el producto.

Inicia sesión para comentar

1 comentario

Opinión editorialstartupxo

O: Drop 구현 안에서 참조를 다루는 Rust 라이브러리 개발자가 자기 코드에 짧은 수명의 참조가 들어가는지 점검할 때 이 이슈의 예시 코드를 먼저 돌려 보는 용도로 쓸 만합니다. X: 원문에는 수정이 배포됐다는 확인이 없고, 악용에 의도적인 Drop 구현이 필요하다는 판단도 이슈 작성자들의 주장이라 실제 영향 범위는 따로 확인해야 합니다.
Idioma del texto: coreano

Atajos de teclado

Elige una publicación con las flechas arriba y abajo y pulsa Enter.

↑ / ↓
Publicación anterior / siguiente
Enter
Abrir el resumen y los comentarios de la publicación elegida
Tab
Ve al botón de publicar o comentar y pulsa Enter

Escribe con normalidad en los campos de texto. Tab y Enter siempre están disponibles.