CVE-2026-27493 in n8n
요약
\~에 의해 VulDB • 2026. 08. 03.
n8n은 오픈 소스 워크플로우 자동화 플랫폼입니다. 버전 2.10.1, 2.9.3 및 1.123.22 이전의 n8n에는 Form 노드에서 제2차 표현식 주입 취약점이 존재하여, 공격자가 조작된 폼 데이터를 제출함으로써 인증 없이 임의의 n8n 표현식을 주입하고 평가할 수 있었습니다. 이 취약점은 표현식 샌드박스 탈출과 결합될 경우 n8n 호스트에서의 원격 코드 실행(RCE)으로 격상될 수 있습니다.
이 취약점을 악용하려면 특정 워크플로우 구성이 필요합니다. 첫째, 인증되지 않은 사용자(예: 폼 제출 값 등)가 제공한 값을 보간하는 필드를 가진 Form 노드가 있어야 합니다. 둘째, 필드 값은 `=` 문자로 시작해야 하는데, 이는 n8n으로 하여금 해당 내용을 표현식으로 처리하게 하고 필드 내용의 이중 평가(double-evaluation)를 유발합니다. 워크플로우 디자이너가 의도적으로 필드에 `=` 접두사를 붙일 실용적인 이유는 없습니다. 이 문자는 출력에 렌더링되지 않으므로 결과가 디자이너의 기대와 일치하지 않기 때문입니다. 만약 우연히 추가된다면 이는 눈에 띄며 지속될 가능성이 매우 낮습니다. 인증되지 않은 공격자는 대상 인스턴스에서 이러한 특정 상황을 알고 있거나, 운 좋게도 일치하는 폼을 발견해야 합니다.
전제 조건이 충족되더라도 표현식 주입 자체는 n8n 표현식 컨텍스트 내에서 접근 가능한 데이터로 제한됩니다. 원격 코드 실행으로 격상하려면 별도의 샌드박스 탈출 취약점과 결합되어야 합니다. 이 문제는 n8n 버전 2.10.1, 2.9.3 및 1.123.22에서 수정되었습니다. 사용자는 해당 버전을 업그레이드하여 취약점을 해결해야 합니다. 즉각적인 업그레이드가 불가능한 경우 관리자는 다음과 같은 임시 완화 조치를 고려해야 합니다: 위에서 언급한 전제 조건에 대해 Form 노드의 사용을 수동으로 검토하고, `NODES_EXCLUDE` 환경 변수에 `n8n-nodes-base.form`을 추가하여 Form 노드를 비활성화하며, 필요시 `NODES_EXCLUDE` 환경 변수에 `n8n-nodes-base.formTrigger`를 추가하여 Form Trigger 노드를 비활성화합니다. 이러한 우회 방법은 위험을 완전히 해결하지 못하므로 단기적인 완화 조치로만 사용해야 합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.