취약점 데이터베이스GHSA-88f4-frh5-gmcr

GHSA-88f4-frh5-gmcr: 
Python 취약점 분석 및 완화

Impact

compose-lint automatically reads a .compose-lint.yml policy file beside the Compose file. It is meant to read nothing outside the project directory, but it follows that file if it is a symlink, wherever it points. A pull request can commit .compose-lint.yml as a symlink to a file on the CI runner. If the target is not valid YAML, the error compose-lint reports quotes part of the line the parser failed on. That quote reaches the job log (standard error), JSON errors[], and the SARIF toolExecutionNotifications, which the Action uploads to Code Scanning. The run exits 2. What can be read is small. The quote is cut to about 30 characters around the error position, and the attacker cannot choose which line of the target the parser fails on. For an INI-style credentials file, this was the start of the second line (aws_access_key_id = followed by the first characters of the value). Targets in KEY=value form, and YAML files that parse, disclosed no values in testing. The pass/fail result is not affected. On a public repository, the job log is visible to the pull request's author. The Compose file loader stopped quoting source lines in parse errors in 0.25.0 (GHSA-whr6-fgpq-fpv9). The policy loader did not. Found during an internal pre-1.0 security review. GitHub Action. Action tags v0.18.0 through v0.31.0 install their own compose-lint version and are affected. Earlier tags install the newest release unless version: is set, and so currently install an affected one. Docker image. composelint/compose-lint tags 0.3.3 through 0.31.0, the matching minor tags, and latest are affected. Inside the container, a symlink resolves within the container, so what can be read is the container's own files and anything mounted into it.

Patches

Fixed in 0.32.0. A .compose-lint.yml discovered in the working directory that resolves outside it is refused with exit 2 rather than read, and a policy parse error no longer quotes the line it failed on, matching the Compose loader. --config is read as given. 0.32.0 also stops following a Compose file that is a symlink to a target outside the checkout.

Workarounds

  • Upgrade to 0.32.0 or later.
  • Run with an explicit --config pointing at a policy file inside the project; the automatic lookup is then skipped.
  • Don't run compose-lint on untrusted pull requests on a machine whose files outside the checkout hold credentials.

Reproduction

project/.compose-lint.yml -> /path/outside/project/credentials   (symlink)
project/compose.yml          services: {web: {image: nginx:1.27}}

compose-lint --format sarif compose.yml exits 2, and the notification text quotes the start of the target's second line.


소스: NVD

관련 Python 취약점:

CVE ID

심각도

점수

기술

구성 요소 이름

CISA KEV 악용

수정 사항이 있습니다

출판일

GHSA-2h4w-29cv-2cmvHIGH8.8
  • Python logoPython
  • ag2
아니요네Nov 10, 2026
GHSA-4g5q-xm2p-2gc4HIGH7.5
  • Python logoPython
  • mailsuite
아니요아니요Nov 10, 2026
GHSA-65v8-q222-64xxMEDIUM5.1
  • Python logoPython
  • compose-lint
아니요네Nov 10, 2026
GHSA-whr6-fgpq-fpv9LOW2.3
  • Python logoPython
  • compose-lint
아니요네Nov 10, 2026
GHSA-88f4-frh5-gmcrLOW2.3
  • Python logoPython
  • compose-lint
아니요네Nov 10, 2026

무료 취약점 평가

클라우드 보안 포세를 벤치마킹하세요

9개 보안 영역에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 파악하세요.

요청 평가

추가 Wiz 리소스

맞춤형 데모를 받아보세요

맞춤형 데모 신청하기

"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
데이비드 에슬릭CISO
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
아담 플레처최고 보안 책임자(CSO)
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."
그렉 포니아토프스키위협 및 취약성 관리 책임자