WooCommerce Social Login 플러그인에서 심각한 인증 우회 취약점(CVE-2026-8457)이 발견되었습니다. 이 취약점을 통해 공격자는 관리자를 포함한 모든 WordPress 계정을 탈취할 수 있습니다. 해당 취약점의 CVSS 점수는 9.8로, 가장 높은 수준의 심각도를 나타내며 비밀번호, 2단계 인증 코드 또는 사용자의 상호작용 없이도 악용될 수 있습니다.

WordPress 개발자에게 이 결함이 중요한 이유

WPWeb Elite에서 출시한 WooCommerce Social Login은 이커머스 사이트에서 고객이 Apple로 로그인할 수 있도록 지원합니다. 이 플러그인은 WordPress 사용자 시스템과 직접 통합되므로, 인증 흐름에 보안 결함이 발생하면 사이트 전체가 위험해질 수 있습니다. 공격자가 Apple id_token을 위조하면 기존 계정을 장악하여 사이트의 콘텐츠, 주문 및 고객 데이터에 대한 완전한 제어권을 가질 수 있습니다.

이 문제는 단순한 실수가 아닙니다. 지난 2년 동안 이 플러그인 제품군에서 발견된 세 번째 주요 인증 결함입니다. 제3자 토큰을 검증하지 못하는 일이 반복되는 것은 외부 자격 증명을 처리하는 코드 방식에 구조적인 문제가 있음을 시사합니다.

인증 우회 작동 방식

  1. Apple 토큰 처리 – 방문자가 “Sign in with Apple”을 클릭하면 플러그인은 사용자의 이메일 및 기타 클레임(claims)을 포함하는 JSON Web Token(JWT)인 id_token을 수신합니다.
  2. 서명 검증 누락 – 플러그인은 JWT를 디코딩하지만, 해당 토큰이 Apple에서 발행되었음을 증명하는 암호화 서명을 확인하지 않습니다.
  3. 발행자, 대상 또는 만료 시간 확인 누락 – 또한 토큰의 발행자(issuer, 생성자), 대상(audience, 수신자) 및 만료 시간(expiration time)에 대한 검증도 건너뜁니다.

이러한 누락으로 인해 공격자는 원하는 이메일 주소를 주장하는 가짜 JWT를 생성할 수 있습니다. 플러그인은 디코딩된 이메일을 진짜로 신뢰하고, 아무런 증거 없이 해당 WordPress 사용자를 생성하거나 로그인시킵니다.

두 번째 문제는 위험을 가중시킵니다. 플러그인이 재전송 공격(replay attacks)을 방지하는 데 사용되는 일회성 값인 보안 논스(nonce)를 인증되지 않은 방문자에게 노출합니다. 이로 인해 공격자는 정상적인 로그인 흐름을 트리거할 필요 없이 전체 과정을 스크립트로 자동화하기가 매우 쉬워집니다.

위험 대상

  • WooCommerce를 운영하는 사이트 소유자 – Apple 로그인을 위해 플러그인을 설치하고 활성화한 모든 사이트가 취약합니다.
  • 개발자 및 에이전시 – 여러 고객 사이트를 관리하는 경우 수십 개의 설치된 사이트가 노출될 수 있습니다.
  • 고객 – 공격자가 관리자 권한을 얻으면 주문 데이터를 읽고, 수정하거나 삭제할 수 있어 개인 정보 및 결제 정보가 노출될 위험이 있습니다.

사이트 보호를 위한 즉각적인 조치

  1. 버전 2.8.8로 업데이트 – 수정 사항은 CodeCanyon에서 제공하는 최신 릴리스에 포함되어 있습니다. 프리미엄 플러그인은 WordPress.org 저장소를 통해 자동으로 업데이트되지 않으므로, 새 패키지를 직접 다운로드하여 설치해야 합니다.
  2. 사용자 계정 감사 – WordPress 사용자 테이블에서 2026년 8월 1일 이후에 생성된 계정, 특히 관리자 권한을 가진 계정을 검색하십시오.
  3. 서버 로그 검토 – 동일한 IP 주소에서의 반복적인 접속이나 잘못된 형식의 JWT를 포함한 호출 등 플러그인의 social-login 엔드포인트에 대한 비정상적인 요청이 있는지 확인하십시오.
  4. 임시 완화 조치 – 즉시 업데이트를 적용할 수 없는 경우, 플러그인 설정에서 Apple 로그인을 비활성화하십시오. 이는 업그레이드를 계획하는 동안 가장 악용되기 쉬운 경로를 차단합니다.

개발자가 배울 점

  • 항상 JWT 서명을 검증하십시오 – 제공자의 JSON Web Key Set(JWKS)을 가져와 클레임을 신뢰하기 전에 토큰의 암호화 증명을 검증하십시오.
  • 발행자, 대상 및 만료 시간을 확인하십시오 – 이 필드들은 토큰이 귀하의 사이트를 위한 것이며 여전히 유효함을 확인해 줍니다.
  • 인증 논스를 공개적으로 노출하지 마십시오 – 논스는 서버 측에서 생성되어 인증된 세션에만 전송되어야 합니다.
  • 역할 할당을 제한하십시오 – 소셜 로그인 흐름은 추가적인 검증 단계 없이 높은 권한(관리자 등)을 부여해서는 안 됩니다.

벤더의 대응

WPWeb Elite는 패치된 버전을 출시했습니다.

향후 주의 사항

요약: 단 한 번의 서명 검증 누락이 편리한 “Sign in with Apple” 버튼을 사이트 전체를 장악할 수 있는 백도어로 만들었습니다. 수정 사항이 널리 배포될 때까지 플러그인을 업데이트하고, 취약한 로그인 방식을 비활성화하며, 토큰 검증을 강화하는 것만이 유일하고 신뢰할 수 있는 방어책입니다.