🇰🇷 한글 설명
Ansible Automation Platform의 automation-controller에서 WorkflowJobNode.ancestor_artifacts 데이터베이스 컬럼이 검색 방지 처리가 되어 있지 않아 발생하는 취약점입니다. 이를 통해 인증된 사용자가 REST 필터 백엔드를 악용하여 no_log로 마스킹된 비밀 정보를 한 글자씩 추출할 수 있습니다.
💡 쉬운 설명
시스템이 비밀번호 같은 민감한 정보를 숨기려고 노력하지만, 데이터베이스 검색 기능을 교묘하게 이용하면 이 정보를 한 글자씩 알아낼 수 있는 결함입니다. 권한이 낮은 사용자라도 특정 검색 방식을 통해 숨겨진 데이터를 훔쳐볼 수 있습니다.
🇺🇸 원문 (English)
A flaw was found in the Ansible Automation Platform automation-controller. The
WorkflowJobNode.ancestor_artifacts database column, which stores the raw merged set_stats
artifacts propagated between workflow nodes, is not wrapped in prevent_search() and is therefore
accepted for arbitrary field lookups by the REST filter backend, even though it is omitted from
the API serializer. Because the column is persisted before Ansible's no_log masking is applied,
a user with only read access to a workflow — or, via a regular-expression lookup that bypasses
the JSON cross-relation filter guard through the world-readable credential-types endpoint, any
authenticated user with no roles — can use the result count as a boolean/count oracle to recover,
character by character, secret values that a playbook author explicitly marked no_log, including
across organizations.
📍 영향받는 시스템
Ansible Automation Platform automation-controller
⚔️ 공격 벡터
REST 필터 백엔드의 필드 조회 기능을 이용한 불리언/카운트 오라클 공격
🛡️ 대응 방법
Ansible Automation Platform을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
현재 설치된 Ansible Automation Platform의 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인하십시오.
ansible-automation-platform --version 2>/dev/null || echo 'Check vendor documentation for specific versioning'