🇰🇷 한글 설명
heym 0.0.105 미만 버전의 Redis 워크플로우 노드에서 자격 증명 권한 확인 결과를 제대로 처리하지 않는 취약점이 발견되었습니다. 권한이 없는 자격 증명 ID를 사용하더라도 오류를 발생시키는 대신 기본 설정(localhost:6379, 비밀번호 없음)으로 연결을 시도하여 백엔드 루프백 인터페이스의 Redis에 접근할 수 있습니다. 이는 인증된 워크플로우 작성자가 의도치 않게 백엔드 Redis 데이터에 읽기/쓰기 권한을 얻을 수 있음을 의미합니다.
💡 쉬운 설명
사용자가 권한이 없는 비밀번호를 입력해도 시스템이 오류를 내는 대신, 자동으로 기본 설정(내 컴퓨터의 Redis)으로 접속을 시도하는 문제입니다. 이로 인해 공격자가 서버 내부의 데이터베이스에 몰래 접근하여 데이터를 읽거나 수정할 위험이 있습니다.
🇺🇸 원문 (English)
heym before 0.0.105 does not act on the result of the credential authorization lookup in the Redis workflow node (backend/app/services/node_execution/nodes/redis_node.py). When _get_accessible_credential returns None — because the credential ID does not exist or the caller is not authorized to use it — the node treats the lookup failure as an empty configuration and falls back to defaults, connecting to localhost:6379 with no password and executing the requested operation there. The same fallback occurs when an accessible credential has an empty config or no redis_host value. An authenticated workflow author who supplies a credential ID they do not own, or one that was deleted, therefore obtains a read/write connection to whatever Redis is listening on the backend's loopback interface instead of an error. Impact depends on the deployment: the stock docker-compose.yml ships no Redis, in which case the flaw surfaces as a misleading connection error rather than data exposure.
📍 영향받는 시스템
heym version < 0.0.105
⚔️ 공격 벡터
인증된 사용자가 자신이 소유하지 않았거나 삭제된 자격 증명 ID를 워크플로우에 입력하여 백엔드 루프백 Redis에 접근
🛡️ 대응 방법
heym 버전을 0.0.105 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 0.0.105보다 낮으면 취약한 상태입니다.
python3 -c 'import pkg_resources; print(pkg_resources.get_distribution("heym").version)' 2>/dev/null || echo 'not installed'