🇰🇷 한글 설명
Sequelize 라이브러리의 1.7.0-alpha3 이전 버전에서 SQLite 사용 시 잘못된 이스케이프 방식이 적용되는 취약점입니다. SQLite는 Postgres 방식의 이스케이프를 사용해야 함에도 불구하고 MySQL 방식의 백슬래시 이스케이프를 기본값으로 사용하여 SQL 인젝션 위험을 초래할 수 있습니다.
💡 쉬운 설명
데이터베이스를 다루는 도구가 데이터 저장 방식을 잘못 설정하여, 해커가 악성 명령어를 데이터베이스에 몰래 끼워 넣을 수 있는 보안 구멍이 생긴 것입니다. 이로 인해 데이터가 유출되거나 삭제될 위험이 있습니다.
🇺🇸 원문 (English)
sequelize is an Object-relational mapping, or a middleman to convert things from Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server into usable data for NodeJS. Before version 1.7.0-alpha3, sequelize defaulted SQLite to use MySQL backslash escaping, even though SQLite uses Postgres escaping.
📍 영향받는 시스템
Sequelize versions prior to 1.7.0-alpha3 (when using SQLite)
⚔️ 공격 벡터
잘못된 이스케이프 처리를 악용한 SQL Injection 공격
🛡️ 대응 방법
Sequelize를 1.7.0-alpha3 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력 결과에 취약한 버전 범위가 나타나면 해당 프로젝트는 보안 업데이트가 필요한 상태입니다.
npm list sequelize | grep -E 'sequelize@([0-1]\.[0-6]\.|1\.7\.0-alpha[0-2])'