CVE-2026-119167은 WordPress 다국어 플러그인 “TranslatePress – Translate Multilingual sites with AI Translation” 3.3.8 이하 모든 버전에서 확인된 저장형 XSS 취약점입니다. 인증되지 않은 공격자가 주입한 웹 스크립트가 사용자가 해당 페이지에 접근할 때 실행되는 구조라, TranslatePress 사용 사이트에 직접적인 영향을 줄 수 있습니다. 다만 악용에는 이름·이메일 조합의 이전 댓글 승인 이력과 보조 언어 구성이라는 전제 조건이 짚혀 있으므로, 설치 버전과 함께 이 조건이 자사 환경에 해당하는지 점검하는 것이 우선입니다.
이 글은 2026년 11월 10일 기준 수집 자료를 바탕으로, 취약점의 원인과 영향 범위, 악용 조건, 사이트 점검 순서, 아직 밝혀지지 않은 사항을 구분해 정리합니다.
CVE-2026-119167 개요: 무엇이 문제인가
CVE-2026-119167은 WordPress용 “TranslatePress – Translate Multilingual sites with AI Translation” 플러그인에서 발견된 저장형 XSS 취약점입니다. 저장형 XSS는 공격자가 삽입한 스크립트가 대상 페이지에 남아 있는 상태에서, 이후 해당 페이지에 접근한 사용자의 브라우저에서 실행되는 형태의 취약점을 가리킵니다. 이번 사안도 같은 흐름을 따릅니다. 인증되지 않은 공격자가 임의의 웹 스크립트를 페이지에 주입할 수 있으며, 주입된 스크립트는 사용자가 그 페이지에 접근할 때 실행됩니다. 리포트가 인용한 NVD 레코드 역시 인증되지 않은 공격자가 임의의 웹 스크립트를 주입해 사용자가 주입된 페이지에 접근할 때 실행되게 할 수 있다고 같은 구조로 설명합니다.
핵심 사항은 표로 정리했습니다.
| 구분 | 내용 | 근거 |
|---|---|---|
| 취약점 번호 | CVE-2026-119167 | |
| 대상 제품 | TranslatePress – Translate Multilingual sites with AI Translation(WordPress 플러그인) | |
| 영향 버전 | 3.3.8 이하 모든 버전 | |
| 취약점 유형 | 저장형 XSS | |
| 직접 원인 | comment 매개변수의 입력값 정제·출력 이스케이프 부족 | |
| 공격자 인증 | 인증되지 않은 공격자도 시도 가능 | |
| 악용 전제 조건 | 이름·이메일 조합의 이전 댓글 승인 이력, 보조 언어 구성 |
영향 범위: 3.3.8 이하 전 버전과 인증 수준
영향을 받는 버전은 TranslatePress 3.3.8 이하 모든 버전입니다. 리포트가 인용한 CVE Program 레코드도 동일한 버전 범위를 제시합니다. “이하” 표기이므로 3.3.8 자체도 영향 범위에 포함된다는 점을 그대로 읽어야 합니다.
공격자 측면에서 주목할 점은 인증 수준입니다. 이 취약점은 인증되지 않은 공격자를 전제로 설명되어 있습니다. 별도 인증을 거친 공격자가 아니어도 시도할 수 있는 유형이라는 점은 사이트 노출 면을 평가할 때 중요한 기준이 됩니다.
주입 지점과 실행 흐름: comment 매개변수 저장형 XSS
원인: 입력값 정제와 출력 이스케이프 부족
3.3.8 이하 모든 버전에서 “comment” 매개변수의 입력값 정제(input sanitization)와 출력 이스케이프(output escaping)가 충분하지 않은 것이 원인으로 밝혀졌습니다. 입력값 정제는 전달된 값에서 위험한 코드를 걸러내는 처리이고, 출력 이스케이프는 값을 화면에 출력할 때 스크립트로 해석되지 않도록 변환하는 처리입니다. 두 처리가 모두 불충분하면 사용자 입력으로 들어온 값이 실행 가능한 형태로 남을 여지가 생깁니다.
실행 흐름
확인된 흐름을 정리하면 다음과 같습니다.
- 인증되지 않은 공격자가 임의의 웹 스크립트를 페이지에 주입합니다.
- 주입된 스크립트는 해당 페이지에 남습니다.
- 사용자가 그 페이지에 접근할 때 주입된 스크립트가 실행됩니다.
악용 조건: 이전 댓글 승인 이력과 보조 언어 구성
악용이 성립하려면 두 가지 전제 조건이 필요한 것으로 알려져 있습니다.
조건 1: 이름·이메일 조합의 이전 댓글 승인 이력
공격에 사용되는 이름과 이메일 조합으로 작성된 이전 댓글이 최소 하나 승인된 상태여야 한다는 내용입니다.
조건 2: TranslatePress의 보조 언어 구성
TranslatePress에 보조 언어가 구성돼 있어야 악용이 가능하다는 것까지 짚혀 있습니다.
조건을 해석할 때 주의할 점
두 조건은 악용 성립의 필요 조건으로 확인된 사항입니다. 두 조건이 한 사이트에서 함께 확인돼도 실제 악용이 일어났다는 증거는 아니며, 반대로 조건이 눈에 띄지 않는다고 이 취약점 자체가 사라지는 것도 아닙니다. 조건 충족 여부는 노출 수준을 가늠하는 참고 정보로 활용하되, 취약점 존재 여부를 판정하는 기준으로는 쓸 수 없습니다.
TranslatePress란: HTML 기반 다국어 번역 플러그인
이번 취약점의 대상은 WordPress용 다국어 플러그인 “TranslatePress – Translate Multilingual sites with AI Translation”입니다. TranslatePress는 무료·유료 버전으로 제공되는 WordPress 다국어 플러그인으로, WordPress 데이터베이스에 저장된 문자열이 아니라 페이지의 HTML 출력을 기준으로 번역을 처리합니다. TranslatePress AI·Google Translate·DeepL 자동 번역 옵션과 hreflang 태그 자동 생성 등 SEO 기능도 갖추고 있습니다. 번역 결과는 외부 클라우드 서비스가 아니라 사이트 자체 서버의 데이터베이스에 저장됩니다. 플러그인 사용 규모나 다른 다국어 플러그인과의 세부 비교는 이 글이 참고한 근거 범위를 벗어나므로 여기에서는 다루지 않습니다.
사이트 점검 순서: 버전·보조 언어·댓글 승인 이력
확인된 영향 버전과 악용 조건을 뒤집으면 점검 항목이 됩니다. 다음 순서로 확인하는 것을 권합니다.
- 설치된 TranslatePress 버전 확인: 3.3.8 이하 모든 버전이 영향 범위이므로, 현재 설치 버전이 여기에 해당하는지 먼저 확인합니다.
- 보조 언어 구성 확인: TranslatePress에 보조 언어가 구성돼 있는지 확인합니다. 보조 언어 구성은 짚힌 악용 조건 중 하나입니다.
- 댓글 승인 구조 확인: 공격에 사용하는 이름과 이메일 조합 기준으로 이전 승인 이력이 쌓이는 방식으로 댓글이 운영되는지 확인합니다.
점검 결과를 해석할 때는 앞서 언급한 한계를 함께 고려해야 합니다. 두 악용 조건이 모두 충족돼도 실제 악용이 일어났다는 증거는 아니고, 조건이 확인되지 않는다고 취약점 자체가 없어지는 것도 아니기 때문입니다. 버전이 3.3.8 이하라면 조건 충족 여부와 무관하게 영향 범위에 있다는 사실은 유지됩니다.
수정 버전 확인과 업데이트 판단 기준
현재 근거로 밝혀진 것은 3.3.8 이하 모든 버전이 영향을 받는다는 점까지입니다. WordPress.org 플러그인 정보에는 3.3.9가 버전 값으로 나와 있지만, 이 버전이 이 취약점의 수정본인지까지는 확인되지 않았습니다. 이 취약점을 수정한 구체적 버전이나 공급자의 수정 공고는 수집된 자료에 없습니다. 버전 번호가 높다는 사실만으로 수정본으로 단정하지 말고, 공급자의 공식 공지와 배포 이력에서 해당 CVE에 대한 수정 여부를 직접 확인한 뒤 업데이트를 판단하는 편이 안전합니다.
확인되지 않은 사항과 주의할 해석
이 글이 참고한 자료 기준으로 다음 사항은 확인되지 않았습니다. 과잉 해석을 막기 위해 항목별로 구분해 둡니다.
- 3.3.9가 CVE-2026-119167의 수정 버전인지 여부: 수집 자료에 공급자의 수정 공고나 배포 이력이 없어 확정할 수 없습니다.
- 실제 공격 관측 사례와 공개 PoC 존재 여부: 잠재적 악용 가능성과 관찰된 공격을 구분해야 합니다.
- 구체적 탐지 규칙, 침해지표(IOC), 공급자 권고 임시 완화책: 수집 자료에 포함되지 않았습니다.
- 주입된 스크립트가 출력되는 정확한 코드 경로와 렌더링 화면, 피해 확인 방법 및 시점 기준: 리포트 본문이 확인하지 못했다고 명시합니다.
- 보조 언어 구성의 내부 동작 방식과 경로: 리포트는 보조 언어 구성 필요성까지만 확인하고 내부 동작은 다루지 않습니다.
- WordPress 기본 댓글 승인 설정의 동작 기준과 예외, 사이트별 설정 변경 이력: 근거 자료에 없습니다.
- CVE Program·NVD 레코드 원문: 직접 수집되지 않았고, 리포트가 인용한 문구로만 확인됩니다.
CVE-2026-119167 취약점의 실질적 영향은 설치 버전과 두 악용 조건의 조합으로 판단할 수 있고, 그 출발점은 버전 확인입니다. 조건 해석에는 신중을 기하고, 수정 여부는 공급자의 공식 발표로 확인하는 자세가 필요합니다.