Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

WordPress 인기 플러그인 'Advanced Contact Form 7 DB'에서 치명적인 SQL 인젝션 취약점 발견

40,000개 이상의 활성 설치 수를 보유한 인기 WordPress 플러그인 Advanced Contact Form 7 DB에서 매우 심각한 SQL 인젝션(SQLi) 취약점이 발견되었습니다. 해당 문의 양식 플러그인의 취약점은 지난 3월 26일 처음 제보되었으며, 패치가 적용된 새 버전 1.6.1은 4월 10일 배포되었습니다. 하지만 패치 버전이 출시되었다고 해서 사용자들이 안심할 수 있는 것은 아닙니다. 이 취약점은 구독자(Subscriber) 권한만 있어도 악용될 수 있기 때문입니다.

Advanced Contact Form 7 취약점의 위험 수준

이 취약점은 악의적인 공격자에 의해 추가로 악용될 수 있어 ‘심각(Critical)’ 등급에 해당합니다. 해커가 데이터베이스에 악성 코드를 삽입하고 중요한 데이터에 접근할 수 있는 무료 통로 역할을 할 수 있습니다.

간단히 정리하면 다음과 같은 피해가 발생할 수 있습니다.

  • 악의적인 공격자가 데이터베이스에 악성 콘텐츠를 삽입할 수 있음
  • 해커가 민감한 정보를 유출할 수 있음
  • WordPress 사이트 전체가 해킹당하는 결과로 이어질 수 있음

다행히 플러그인 개발사는 신속하게 패치 버전을 출시했습니다. 그 결과 WordPress는 이틀 전 Yuzo Related Posts 플러그인을 중단 조치했던 것과 달리, 이 플러그인은 서비스 중단 없이 그대로 운영되고 있으며 현재도 신규 설치가 가능합니다. 실제로 WordPress 플러그인 디렉터리에서 Advanced Contact Form 7 DB를 검색하면 여전히 검색됩니다.

WordPress 인기 플러그인  Advanced Contact Form 7 DB 에서 치명적인 SQL 인젝션 취약점 발견

WordPress 인기 플러그인  Advanced Contact Form 7 DB 에서 치명적인 SQL 인젝션 취약점 발견

WordPress 보안이 걱정되신가요? Astra 웹사이트 보안 서비스를 방문하거나 채팅 위젯으로 메시지를 남겨주세요. 기꺼이 도와드리겠습니다. 지금 내 WordPress 사이트를 점검받으세요.

Advanced Contact Form 7 취약점의 상세 분석

WordPress에는 코드 작성자가 긴 코드 대신 숏코드(shortcode)를 사용할 수 있도록 wp-ajax-parse-media-shortcode라는 기능을 제공합니다. 이 플러그인 개발자는 public/class-advanced-cf7-db-public.php 파일에서 acf7db라는 숏코드를 정의했습니다.

WordPress 인기 플러그인  Advanced Contact Form 7 DB 에서 치명적인 SQL 인젝션 취약점 발견

WordPress 인기 플러그인  Advanced Contact Form 7 DB 에서 치명적인 SQL 인젝션 취약점 발견

여기서 더 큰 문제는 개발자가 wpdb::prepare라는 핵심 요소를 누락했다는 점입니다. wpdb::prepare는 SQL 쿼리를 살균(sanitize)하여 유효하고 정상적인 쿼리만 통과시키는 역할을 합니다. 그런데 코드 작성자는 안전하지 않은 방식인 wpdb->get_results()를 사용했고, 이는 쿼리 삽입에 있어 안전하지 않은 방법입니다. 취약한 코드는 아래 이미지에서 확인할 수 있습니다.

WordPress 인기 플러그인  Advanced Contact Form 7 DB 에서 치명적인 SQL 인젝션 취약점 발견

WordPress 인기 플러그인  Advanced Contact Form 7 DB 에서 치명적인 SQL 인젝션 취약점 발견

그 결과 $fid 값이 악성 코드를 쿼리로 받아들일 수 있게 되며, 이는 심각한 사고로 이어질 수 있습니다. 다만 현재까지 실제 공격 사례는 보고된 바 없습니다. 이번 소식은 사용자들에게 미리 경고하기 위한 예방 차원의 조치임을 밝혀둡니다.

즉시 취해야 할 조치

웹사이트에 닥칠 수 있는 위협을 막으려면 플러그인을 최대한 빨리 업데이트하세요. 이후 테마 업데이트비밀번호 재설정도 함께 진행하는 것이 좋습니다. 이 취약점이 악용되면 공격자에게 민감하고 기밀성 높은 데이터가 유출될 수 있습니다.

이 외에도 다양한 공격으로부터 웹사이트를 보호하고 싶다면 월 $19부터 시작하는 Astra의 멀웨어 스캐너를 활용할 수 있습니다. 또한 VAPT(취약성 평가 및 침투 테스트) 서비스를 통해 Astra의 엔지니어들이 웹사이트를 철저히 점검하고 잠재적 취약점을 모두 수정해 드립니다.

지금 바로 Astra 데모를 신청해 보세요!

WordPress 인기 플러그인  Advanced Contact Form 7 DB 에서 치명적인 SQL 인젝션 취약점 발견