🇰🇷 한글 설명
Data Science Pipelines Operator(DSPO)의 spec.database.customExtraParams 필드에서 취약점이 발견되었습니다. 네임스페이스 편집자가 MySQL DSN 문자열에 위험한 파라미터를 주입하여 LOCAL INFILE 기능을 활성화함으로써, 오퍼레이터 포드의 서비스 어카운트 토큰과 같은 민감한 파일을 탈취할 수 있습니다. 이를 통해 권한 상승이 가능하며 최종적으로 클러스터 관리자(cluster-admin) 권한을 획득할 수 있습니다.
💡 쉬운 설명
데이터 분석 도구의 설정 오류를 이용해 해커가 서버 내부의 중요한 비밀 파일을 몰래 빼낼 수 있는 문제입니다. 이 과정을 통해 해커는 시스템 전체를 관리할 수 있는 강력한 권한을 얻게 됩니다.
🇺🇸 원문 (English)
A flaw was found in the Data Science Pipelines Operator (DSPO). A namespace editor can exploit a vulnerability in the spec.database.customExtraParams field, which allows for the injection of dangerous parameters into the MySQL Data Source Name (DSN) string. By manipulating these parameters, an attacker can enable LOCAL INFILE functionality and exfiltrate sensitive files, such as the service account token, from the operator pod. This can lead to privilege escalation, allowing a namespace editor to gain cluster-admin privileges.
📍 영향받는 시스템
Data Science Pipelines Operator (DSPO) - 특정 버전 미만
⚔️ 공격 벡터
spec.database.customExtraParams 필드에 악의적인 MySQL 파라미터를 주입하여 LOCAL INFILE 기능을 활성화하는 방식
🛡️ 대응 방법
DSPO를 최신 보안 패치가 적용된 버전으로 업데이트하고, 데이터 소스 설정 시 사용자 입력값에 대한 검증을 강화해야 합니다.
🔧 검증 코드
명령어 결과에서 해당 필드가 존재하고 외부 입력이 가능한 구조인지, 그리고 설치된 DSPO의 버전을 확인하여 취약 여부를 판단합니다.
kubectl get deployment -A | grep dspo && kubectl describe deployment <dspo-deployment-name> | grep -A 5 spec.database.customExtraParams