
노드 클록을 조작하여 Kubernetes CronJob이 조기에 실행되도록 강제함으로써 CVE-2026-21019를 재현합니다. 취약한 YAML 매니페스트와 Python 익스플로잇을 포함합니다.
# cronjob_vuln.yaml - CronJob that checks current time without external validation
apiVersion: batch/v1
kind: CronJob
metadata:
name: backup
spec:
schedule: "0 2 * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: backup
image: alpine
command: ["/bin/sh", "-c", "if [ $(date +%H) -eq 2 ]; then echo doing backup; fi"]
restartPolicy: OnFailure
Kubernetes CronJob은 실행 여부를 결정하기 위해 노드의 시스템 클록에 의존합니다. 노드 수준 권한을 가진 공격자는 클록을 조작하여 강제로 조기 실행시킬 수 있으며, 이로 인해 예약된 작업(예: 백업)이 의도하지 않은 결과를 초래할 수 있습니다.
(시뮬레이션) 노드 루트 권한으로 다음을 실행합니다:
python exploit_cronjob_time.py
CronJob 컨테이너가 호스트 시간을 신뢰하면 작업이 실행됩니다.