🇰🇷 한글 설명
Ruby on Rails의 PostgreSQL 어댑터에서 배열 열 작업 시 백슬래시 문자가 제대로 처리되지 않아 SQL injection이 발생합니다. 공격자는 이를 악용하여 데이터 추가 SQL 명령을 원격에서 실행할 수 있습니다.
💡 쉬운 설명
Rails에서 PostgreSQL 데이터베이스를 사용할 때 특수 문자(백슬래시)가 제대로 필터링되지 않아서, 악의적인 SQL 명령이 실행될 수 있습니다. 배열 데이터를 다룰 때 특히 위험합니다.
🇺🇸 원문 (English)
SQL injection vulnerability in activerecord/lib/active_record/connection_adapters/postgresql/cast.rb in Active Record in Ruby on Rails 4.0.x before 4.0.3, and 4.1.0.beta1, when PostgreSQL is used, allows remote attackers to execute "add data" SQL commands via vectors involving \ (backslash) characters that are not properly handled in operations on array columns.
📍 영향받는 시스템
Ruby on Rails 4.0.x (4.0.3 이전), 4.1.0.beta1 (PostgreSQL 사용 시)
⚔️ 공격 벡터
백슬래시 문자를 포함한 SQL injection 페이로드를 배열 열 값으로 입력하여 SQL 명령 실행
🛡️ 대응 방법
Ruby on Rails를 4.0.3 이상 또는 4.1.0 정식 버전으로 업그레이드
🔧 검증 코드
Rails 버전이 4.0.3 이상 또는 최신 버전이면 안전하며, 4.0.3 미만이면 업그레이드 필요
gem list | grep 'rails' | awk '{print $2}' | tr -d '()'