2026.3.28 이전의 모든 OpenClaw 권한 상승 취약점 발견
https://nvd.nist.gov/vuln/detail/CVE-2026-33579
2026.3.28 이전 버전의 OpenClaw 내 /pair approve 명령어 경로에 권한 상승 취약점이 존재합니다. 이 취약점은 호출자의 스코프(권한 범위)를 핵심 승인 검사 단계로 전달하지 못해 발생합니다.
결과적으로 관리자 권한 없이 페어링 권한만 가진 호출자가 extensions/device-pair/index.ts 및 src/infra/device-pairing.ts 파일의 스코프 검증 누락을 악용하면, 관리자 접근 권한을 포함해 더 광범위한 스코프를 요구하는 대기 중인 기기의 요청을 승인할 수 있습니다.
2026.3.28 이전의 모든 OpenClaw 버전이 이 문제의 영향이 있음
All
2026.2.xreleasesAll
2026.3.xreleases before 2026.3.28 (including 2026.3.1 through 2026.3.27)The
2026.3.28-beta.1release also addresses the issue per the Snyk advisory SNYK-JS-OPENCLAW-15797943
버전확인:
# npm / Node.js install
openclaw --version
# Or check package.json directly
cat node_modules/openclaw/package.json | grep '"version"'
# Docker
docker inspect openclaw:latest | grep -i version버전 정보에 2026.3.28보다 이전 버전이 표시된다면, 인스턴스 운영을 계속하기 전에 작업을 중단하고 다음 섹션의 업그레이드 단계를 따르십시오.
설정 백업
cp -r ~/.openclaw/config ~/.openclaw/config.bak.$(date +%Y%m%d)
cp -r ~/.openclaw/agents ~/.openclaw/agents.bak.$(date +%Y%m%d)실행 중인 OpenClaw 프로세스 중지
# Systemd
sudo systemctl stop openclaw
# Or if running via PM2
pm2 stop openclaw2026.3.28버전으로 업그레이드
# Global npm install
npm install -g openclaw@2026.3.28
# Or update in your project
npm install openclaw@2026.3.28버전 및 패치 커밋 확인
openclaw --version
# Expected: 2026.3.28
# Confirm the security patch commit is present in node_modules
grep -r "e403decb" node_modules/openclaw/src/infra/device-pairing.js 2>/dev/null \
&& echo "Patch present" || echo "Patch not found — verify install"OpenClaw 재실행
sudo systemctl start openclaw
# or: pm2 restart openclawDocker인 경우
# Pull the updated image
docker pull openclaw/openclaw:2026.3.28
# Stop the current container
docker stop openclaw-instance
# Run the patched version (replace with your actual run flags)
docker run -d \
--name openclaw-instance \
-v ~/.openclaw:/home/openclaw/.openclaw \
openclaw/openclaw:2026.3.28
# Verify
docker exec openclaw-instance openclaw --versionOpenClaw 개발자 코멘트:
OpenClaw 개발자입니다.
이번 문제는 권한 상승 버그였지만, “텔레그램이나 디스코드의 아무 메시지나 OpenClaw 인스턴스를 즉시 장악할 수 있다”는 식의 문제는 아니었습니다.
근본적인 문제는 수정 작업이 불완전했다는 점입니다. 이전 보안 권고에서는 호출자의 스코프를 핵심 승인 검사 과정에 전달함으로써 기기 승인용 게이트웨이 RPC 경로를 강화했습니다. 하지만
/pair approve플러그인 명령 경로는 여전히callerScopes없이 동일한 승인 함수를 호출했고, 해당 매개변수가 누락되었을 때 핵심 로직은 '실패 시 허용(fail-open)' 방식으로 동작했습니다.따라서 확인된 가장 강력한 악용 경로는 다음과 같습니다: 이미 게이트웨이 액세스 권한을 보유하고 명령을 전송할 수 있는 충분한 권한을 가진 클라이언트가
chat.send를 사용하여/pair approve latest를 전송하면,operator.admin을 포함한 더 광범위한 권한을 요청하는 대기 중인 기기 요청을 승인할 수 있었습니다. 다시 말해, 페어링/쓰기 수준 접근 권한에서 관리자 권한으로의 권한 상한선 우회였습니다.이는 주로 텔레그램이나 특정 메시지 제공업체에 국한된 버그가 아니었습니다. 이 버그는 공유 플러그인 명령어 핸들러에 존재했기 때문에,
/pair approve에 접근할 수 있는 이미 인증된 명령어 발신자라면 누구나 이 취약점을 이용할 수 있었습니다. 특히 텔레그램의 경우, 기본 DM 정책이 명령어 실행 전에 알 수 없는 외부 사용자를 차단하므로, 단순히 "봇에게 메시지를 한 번 보내면 관리자 권한을 얻을 수 있다"는 식의 문제는 아니었습니다. 하지만 이미 인증된 텔레그램 발신자는 여전히 이 취약한 경로에 접근할 수 있었습니다.이 문제의 실질적인 위험성은 매우 낮았으며, 특히 OpenClaw를 단일 사용자용 개인 비서로 사용하는 경우에는 더욱 그러했습니다. 저희는 Nvidia, ByteDance, Tencent, OpenAI의 전문가들과 협력하여 코드베이스를 강화하기 위해 최선을 다하고 있습니다.
