<취약점>

역직렬화는 인스턴스를 임의의 값으로 정하기 때문에 공격자가 가젯(gadget)이 작동하는 일부 데이터를 컨트롤 할 수 있음. 

또한 공격자는 가젯을 이용하여 두 번째 가젯을 불러올 수 있음 (일련의 가젯들이 이런 식으로 서로 연결되는 것을 ‘가젯 체인’이라고 부름)


<영향받는 제품> 

version 2.0 ~ 2.5

*Ruby의 대안으로 여겨지 JRuby Rubinius 또한 조사 예정


<영향성>

Java와 .NET 역직렬화 문제는 third-party 라이브러리에만 국한 되었다면, Ruby의 경우 언어 자체의 취약점이므로 해커 공격에 대한 취약 정도가 큼.


<대응방안>

프로그램언어 종류와는 상관 없이 직렬화/역직렬화 관련 문제는 취약한 코드와 나쁜 코딩 습관과 연관됨. 

직렬화된 데이터는 반드시 안전한 것이 아니며, 따라서 이를 역직렬화 할 때 주의를 기울여야 함. 

대응법으로는 직렬화하기 전 사용자 인풋을 반드시 검증하고, 역직렬화된 데이터의 특정 함수에 대한 접근 권한을 제한해야 함. 


<관련 CVE코드>

PoC : https://www.elttam.com.au/blog/ruby-deserialization/


출처 : https://www.zdnet.com/article/deserialization-issues-also-affect-ruby-not-just-java-php-and-net/

+ Recent posts