
CVE-2024-3094 패치를 위한 Ansible playbook
제공된 Ansible 플레이북은 다음 단계를 통해 이 취약점을 해결합니다:
tasks/main.yaml: 이 파일은 플레이북의 핵심 작업을 정의합니다.
---
- name: Gather package facts
ansible.builtin.package_facts:
manager: auto
register: package_facts
- name: Print the current version of {{ package_name }}
ansible.builtin.debug:
var: package_facts.ansible_facts.packages['{{ package_name }}'][0].version.split('-')[0]
register: version_check
- name: Install safe version of {{ package_name }}
ansible.builtin.package:
name: '{{ package_name }}={{ safe_version }}'
state: present
when: version_check=={{non_safe_version1}} or version_check=={{non_safe_version2}}
defaults/main.yaml: 이 파일은 플레이북 전체에서 사용되는 기본 변수를 정의합니다.
---
package_name: xz-utils
non_safe_version1: 5.6.0
non_safe_version2: 5.6.1
safe_version: 5.4.6
playbook.yaml: 이 파일은 전체 실행 흐름을 정의합니다.
---
- name: patch xz-utils
hosts: machines
roles:
- xz_utils_patch