
Ansible playbook para corrigir CVE-2024-3094
O playbook Ansible fornecido trata desta vulnerabilidade por meio de:
package_facts coleta informações sobre os pacotes instalados, incluindo suas versões.debug extrai a versão base do pacote xz-utils dos fatos coletados.package instala uma versão conhecida como segura (safe_version) do xz-utils se a versão atual do sistema corresponder às versões vulneráveis (5.6.0 ou 5.6.1).tasks/main.yaml: Este arquivo define as tarefas principais do playbook.
package_facts.debug.safe_version) usando package se o sistema tiver uma versão vulnerável. ---
- 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: Este arquivo define variáveis padrão usadas em todo o playbook.
package_name: Nome do pacote a ser corrigido (definido como xz-utils).non_safe_version1: Primeira versão vulnerável (definida como 5.6.0).non_safe_version2: Segunda versão vulnerável (definida como 5.6.1).safe_version: Versão conhecida como segura a ser instalada (definida como 5.4.6). ---
package_name: xz-utils
non_safe_version1: 5.6.0
non_safe_version2: 5.6.1
safe_version: 5.4.6
playbook.yaml: Este arquivo define o fluxo de execução geral.
machines.xz-utils_checkout, que provavelmente contém tarefas específicas para lidar com a atualização do pacote xz-utils (não fornecida aqui). ---
- name: patch xz-utils
hosts: machines
roles:
- xz_utils_patch