🇰🇷 한글 설명
Faktory 1.10.0 미만 버전의 내장 Redis 부트스트래퍼에서 보안 취약점이 발견되었습니다. 로컬 권한을 가진 사용자가 예측 가능한 경로인 /tmp/redis.conf 파일을 미리 생성하여 Redis 설정을 조작할 수 있으며, 이를 통해 데이터 노출 및 루트 권한 탈취가 가능합니다.
💡 쉬운 설명
컴퓨터의 임시 저장 공간에 공격자가 미리 가짜 설정 파일을 만들어 두면, 프로그램이 실행될 때 이를 그대로 읽어 들여 공격자의 명령을 수행하게 됩니다. 이를 통해 해커는 관리자 권한을 얻거나 중요한 데이터를 훔칠 수 있습니다.
🇺🇸 원문 (English)
Faktory is a language-agnostic background job server. In versions prior to 1.10.0, the embedded Redis bootstrapper is vulnerable to an insecure temporary file flaw that lets a local unprivileged user hijack the Redis configuration and escalate to root. It writes its startup configuration to a fixed, predictable, world-writable path, /tmp/redis.conf, only creating the file if it does not already exist and never validating it on later boots. Because /tmp is world-writable, a local unprivileged user can pre-create /tmp/redis.conf with attacker-chosen Redis directives before Faktory starts, and Faktory will use the planted file verbatim. Faktory only overrides the unixsocket, dir, and logfile options, leaving directives such as bind, protected-mode, requirepass, and loadmodule attacker-controlled. This lets an attacker silently expose the entire job queue over an unauthenticated network port with no visible error to the administrator. Because the official systemd unit runs Faktory, and the redis-server child it spawns, as root, an attacker can also supply a loadmodule directive to execute arbitrary native code in the root-owned Redis process, escalating from a local unprivileged user to root. This issue is fixed in version 1.10.0.
📍 영향받는 시스템
Faktory versions prior to 1.10.0
⚔️ 공격 벡터
Local unprivileged user pre-creating a predictable temporary file (/tmp/redis.conf) to hijack configuration
🛡️ 대응 방법
Upgrade Faktory to version 1.10.0 or later
🔧 검증 코드
출력된 버전이 1.10.0 미만이면 취약한 상태이며, 1.10.0 이상이어야 안전합니다.
faktory --version 2>/dev/null | grep -E '1\[.10.0' || echo 'Vulnerable or not installed'