🇰🇷 한글 설명
Masa CMS의 특정 버전에서 인증되지 않은 사용자가 JSON API의 altTable 파라미터를 통해 SQL 인젝션 공격을 수행할 수 있는 취약점이 발견되었습니다. 공격자는 검증되지 않은 입력값을 SQL FROM 절에 직접 주입하여 데이터베이스 내의 관리자 자격 증명 및 비밀번호 재설정 토큰과 같은 민감한 정보를 탈취할 수 있습니다.
💡 쉬운 설명
해커가 로그인하지 않고도 웹사이트의 데이터베이스에 몰래 명령어를 입력하여 중요한 정보를 빼낼 수 있는 보안 구멍이 발견되었습니다. 이를 통해 관리자의 비밀번호나 개인정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
Masa CMS is an open source content management system. In versions 7.2.0 through 7.2.9, 7.3.0 through 7.3.14, 7.4.0 through 7.4.9, and 7.5.0 through 7.5.2, the unauthenticated JSON API accepts an altTable parameter that is stored via the setAltTable() method without validation or sanitization. This value is injected directly into a SQL FROM clause within feedGateway.cfc. An unauthenticated attacker can pass an arbitrary subquery into the altTable parameter to read sensitive data from any table in the database in a single HTTP request, including administrative credentials and password reset tokens.
This issue has been fixed in versions 7.2.10, 7.3.15, 7.4.10, and 7.5.3. As a workaround, apply validation to the setAltTable function in core/mura/content/feed/feedBean.cfc to restrict input to simple alphanumeric table names, or disable the JSON API if it is not required.
📍 영향받는 시스템
Masa CMS 7.2.0-7.2.9, 7.3.0-7.3.14, 7.4.0-7.4.9, 7.5.0-7.5.2
⚔️ 공격 벡터
인증되지 않은 사용자가 JSON API의 altTable 파라미터에 악의적인 SQL 서브쿼리를 삽입하여 공격
🛡️ 대응 방법
Masa CMS를 7.2.10, 7.3.15, 7.4.10 또는 7.5.3 이상의 버전으로 업데이트하거나, JSON API를 비활성화하십시오.
🔧 검증 코드
해당 파일 내에 setAltTable 메서드가 존재하고 입력값 검증 로직이 없는지 확인하여 취약 여부를 판단합니다.
grep -r "setAltTable" core/mura/content/feed/feedBean.cfc