CVE-2018-8779: UNIXServer, UNIXSocket에서 NUL 문자 삽입을 통한 의도치 않은 소켓 생성 취약점
작성자: usa (2018-03-28)
번역자: shia
루비에 내장되어 있는 소켓 라이브러리의 UNIXServer.open 메서드를 사용하여 의도치 않은 소켓을 생성할 수 있는 취약점이 발견되었습니다.
그리고 UNIXSocket.open 메서드에서는 의도치 않은 소켓 접근을 할 수 있는 취약점이 발견되었습니다.
이 취약점은 CVE 아이디 CVE-2018-8779로 할당되었습니다.
세부 내용
UNIXServer.open은 첫 번째 매개변수로 생성할 소켓의 경로를 넘겨받습니다.
만약 이 경로가 NUL(\0) 문자를 포함하는 경우, 이 메서드는 NUL 문자 직전까지를 경로명으로 인식합니다.
그러므로 만약 외부 입력을 이 메서드의 인수로 사용하는 경우, 공격자는 의도하지 않은 경로에 소켓 파일을 생성할 수 있습니다.
그리고 UNIXSocket.open도 마찬가지로 첫 번째 매개변수로 생성할 소켓의 경로를 받으며, UNIXServer.open과 마찬가지로 NUL 문자 확인을 하지 않습니다.
그러므로 만약 외부 입력을 이 메서드의 인수로 사용하는 경우, 공격자는 의도하지 않은 경로의 소켓 파일에 접근할 수 있습니다.
해당 버전을 사용하는 모든 사용자는 즉시 업그레이드하기 바랍니다.
해당 버전
- 루비 2.2 버전대: 2.2.9 이하
- 루비 2.3 버전대: 2.3.6 이하
- 루비 2.4 버전대: 2.4.3 이하
- 루비 2.5 버전대: 2.5.0 이하
- 루비 2.6 버전대: 2.6.0-preview1
- 리비전 62991 이전의 트렁크
도움을 준 사람
이 문제는 ooooooo_q가 보고했습니다.
수정 이력
- 2018-03-28 23:00:00 (KST) 최초 공개
최근 소식
Ruby 3.4.8 릴리스
Ruby 3.4.8이 릴리스되었습니다.
작성자: k0kubun (2025-12-17)
Ruby 4.0.0 preview2 릴리스
Ruby 4.0.0-preview2 릴리스를 알리게 되어 기쁩니다. Ruby 4.0은 유니코드 버전을 17.0.0으로 업데이트했으며, 더 많은 것들이 있습니다.
작성자: naruse (2025-11-17)
Ruby 3.3.10 릴리스
Ruby 3.3.10이 릴리스되었습니다.
작성자: nagachika (2025-10-23)
RubyGems 저장소 소유권 이관
Ruby 커뮤니티 여러분께,
작성자: matz (2025-10-17)