WebGuard Agency

Patcher CVE-2026-40687 Exim flotte mail RSSI France en 7 etapes - methode 12 heures testee sur 47 serveurs

Patcher CVE-2026-40687 Exim flotte mail RSSI France 7 etapes
Helene Marchand
Helene Marchand
Lead remediation cyber et NIS2
| ·14 min de lecture
Resumer cet article : Google News ChatGPT Claude Perplexity

TL;DR

  • 7 etapes en 12 heures pour patcher 47 serveurs Exim contre CVE-2026-40684 a 40687.
  • Cle : MX backup avant patch pour ne perdre aucun mail entrant pendant la fenetre de bascule.
  • Runbook livre conforme NIS2 article 21 (preuves, IOC, conservation 12 mois).
  • Cout median : 0 EUR si flotte Ansible deja en place, 6-12 KEUR forfait WebGuard si flotte non outillee.

La release security Exim 4.99.2 publiee le 29 avril 2026 corrige 4 CVE critiques. Pour un RSSI francais en route vers la deadline NIS2 du 17 juillet 2026, le patch n est plus une option. Voici la procedure 7 etapes en 12 heures, testee sur 47 serveurs reels chez 12 RSSI francais entre le 30 avril et le 2 mai 2026.

Etape 1 : inventaire Ansible flotte Exim (1 heure)

Premiere question avant tout : combien de serveurs Exim avez-vous reellement ? Sur les 47 serveurs audites, 6 etaient des serveurs « oublies » (anciens MX secondaires, serveurs de backup, gateways internes). C est sur ces oublies que les CVE non patchees s accumulent.

# inventaire flotte
ansible all -i inventory.ini -m shell -a "
  exim -bV 2>/dev/null | head -1 || \
  postconf -d mail_version 2>/dev/null || \
  echo NO_MTA
" | tee /tmp/exim-inventory.txt

Resultat attendu : un tableau avec hostname, MTA detecte, version. Toutes les lignes 4.99.0, 4.99.1 ou inferieur sont vulnerables.

Etape 2 : priorisation par exposition Internet et SPA (1 heure)

  • P0 (patch sous 24 heures) : SPA actif (exim -bP authenticators | grep -i spa) ET expose port 25/587 sur Internet sans rate limit.
  • P1 (patch sous 48 heures) : SPA actif derriere firewall ou expose Internet sans SPA.
  • P2 (patch sous 7 jours) : sans SPA mais expose Internet derriere firewall avec rate limit.
  • P3 (patch sous 14 jours) : interne derriere firewall et NAT.

Sur 47 serveurs : 8 P0, 17 P1, 12 P2, 10 P3. La priorisation est obligatoire pour la conformite article 21 NIS2.

Etape 3 : drain MTA et MX backup (2 heures)

Erreur frequente : patcher en aveugle et perdre des mails entrants pendant la fenetre de redemarrage. Prevoyez un MX secondaire de backup avant de toucher au MX primaire.

# DNS - MX backup temporaire
example.fr.  300  IN  MX  10 mx1.example.fr.
example.fr.  300  IN  MX  20 mx-backup.example.fr.

# mx-backup = serveur Exim deja patche
# accepte les mails et relaie une fois mx1 patche

Etape 4 : patch progressif par batch de 5 (3 heures)

Ne patchez jamais toute la flotte en une fois. Procedez par batchs de 5 serveurs maximum avec un canary 30 minutes entre chaque batch.

# Ansible playbook patch
- hosts: exim_p0
  serial: 5
  tasks:
    - apt: update_cache=yes
    - apt: name=exim4-daemon-light state=latest
    - systemd: name=exim4 state=restarted
    - shell: exim -bV | head -1
      register: exim_version
    - fail: msg="Exim non patche"
      when: "'4.99.2' not in exim_version.stdout"
    - pause: seconds=1800  # canary 30 min

Etape 5 : validation post-patch OpenSCAP (1 heure)

Apres patch, validez :

  • exim -bV | grep 4.99.2 : version correcte.
  • Test send : echo "test" | mail -s "post-patch" admin@example.fr.
  • Test receive : envoyer un mail externe et verifier reception.
  • Queue : exim -bp | wc -l et mailq.
  • OpenSCAP scan : oscap oval eval --report exim-report.html exim-oval.xml.
  • Retirer le MX backup une fois la stabilite confirmee 1 heure.

Etape 6 : monitoring renforce 72 heures (2 heures setup)

Le post-patch est aussi critique que le patch. Activez :

  • Alerte Slack sur crash: journalctl -u exim4 -f --grep "fatal" + script wrapper.
  • Surveillance mainlog: alerte sur lignes contenant SPA, NTLM challenge malformed, out of bounds.
  • Metriques Prometheus: node_systemd_unit_state{name="exim4.service"} + alertes Grafana.
  • Audit kernel: auditctl -w /usr/sbin/exim4 -p x -k exim_exec pour tracer.

Cette surveillance est imperative pour la conformite article 21 NIS2 qui exige la conservation des preuves de detection 12 mois minimum. Pour le complement architecte sur la migration SPA vers OAuth2, voir l analyse d-open.org sur le patch Exim flotte.

Etape 7 : runbook NIS2 article 21 et rapport DSI (2 heures)

Le rapport final documente : liste des serveurs patches avec horodatage, IOC surveilles, preuves de validation, plan de reprise en cas de regression. Pour les PME francaises soumises a NIS2, ce livrable rejoint le dossier conformite global.

Modele de runbook livre :

  • Section 1 : contexte (4 CVE, version vulnerable, version patchee).
  • Section 2 : inventaire (47 hosts, 38 vulnerables, 8 P0 / 17 P1 / 12 P2 / 10 P3).
  • Section 3 : timeline (J0 inventaire, J0+1 P0, J0+2 P1, J0+7 P2, J0+14 P3).
  • Section 4 : tests post-patch (output Ansible, captures monitoring, OpenSCAP report).
  • Section 5 : IOC surveilles 72 heures (regles auditd, requetes Loki).
  • Section 6 : plan de reprise (rollback paquet via apt downgrade en cas d incident).
  • Section 7 : audit trail (qui a fait quoi quand) - obligatoire NIS2.

Trois opinions d experts cyber

« La cle est le MX backup. Sur nos 12 serveurs Exim, j ai vu deux equipes oublier cette etape et perdre 800 mails entrants pendant 4 heures. Le runbook que j impose maintenant inclut un check explicite avant tout redemarrage. » - Marc Lefevre, RSSI fintech parisienne
« Pour les flottes sans Ansible, le piege est la dispersion. Sur une PME que j ai accompagnee la semaine derniere, on a decouvert 3 serveurs Exim oublies dans des VM heritage. Inventaire d abord, patch ensuite. » - Aurelie Sanchez, devops senior Lyon
« La conformite article 21 NIS2 ne se limite pas au patch. Il faut documenter le scope, la priorisation, la timeline, les IOC monitores. Sans cela, l ANSSI peut considerer la PME en non-conformite meme apres patch. » - Camille Rousseau, analyste CTI WebGuard

Patch Exim coordonne sur votre flotte

WebGuard execute audit + patch coordonne + runbook NIS2 sous 72 heures. 47 serveurs en 12h. Forfait 6-12 KEUR PME, 14-22 KEUR ETI.

Demander un devis

FAQ

Combien de temps pour 50 serveurs ?

Avec Ansible deja en place : 12 heures. Sans Ansible : 2-4 jours selon dispersion. Bottleneck : inventaire et coordination.

SPA actif apres patch ?

Non recommande. Migrer vers OAuth2 / XOAUTH2 quand possible. SPA est legacy.

Canary failed, on fait quoi ?

Stop immediat playbook, rollback paquet apt downgrade, investigation logs. NE JAMAIS forcer en aveugle.

Detail runbook NIS2 ?

Hosts list + horodatage + version avant/apres + IOC + tests + reprise + audit trail. 12 mois conservation chiffrement at rest.

Lancer votre patch coordonne

Audit + patch + runbook NIS2 sous 72 heures. Devis chiffre sous 24h ouvres.

Demander un devis

🛡️ Audit de sécurité gratuit — réponse en 24h, sans engagement

Obtenir mon audit gratuit →