> ## Documentation Index
> Fetch the complete documentation index at: https://blog.onetsolutions.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Apache HTTP/2 (CVE-2026-119618) : exécution de code à distance via mod_http2

> Une race condition dans mod_http2 permet une exécution de code à distance sur Apache 2.4.55 à 2.4.70. Exposition, correctifs par distribution, mitigation.

*Publié le 13 novembre 2026*

> [!WARNING]
>
> **CVE-2026-119618 — Apache HTTP Server, module mod\_http2.** Apache classe la faille comme critique. Elle est exploitable à distance, sans authentification, sur tout serveur Apache qui sert du HTTP/2. Si c'est votre cas, appliquez la mise à jour de votre distribution dès aujourd'hui.

## Le problème en deux phrases

La fonction `assign_headers()` du module **mod\_http2** manipule une ressource partagée entre threads sans synchronisation correcte. Une requête HTTP/2 bien construite peut corrompre le tas mémoire du serveur et mener à une exécution de code avec les droits du processus Apache.

Versions touchées :

* **Apache HTTP Server 2.4.55 à 2.4.70**, corrigé en **2.4.71** (publié le 11 novembre 2026) ;
* **mod\_h2** distribué sur GitHub, versions 2.0.8 à 2.0.42.

Les scores divergent selon les éditeurs : 8.1 dans le score publié sur cve.org et NVD (complexité d'attaque élevée), 9.8 chez Red Hat. Ubuntu classe la faille en priorité haute.

> [!NOTE]
>
> À la date de publication, aucun exploit public ni exploitation active n'est signalé. La faille a été découverte indépendamment par l'OSS Scanner d'Anthropic et par l'équipe Vulnerability Research de Google Cloud.

## Évaluer son exposition

La question à se poser : **votre Apache parle-t-il HTTP/2 ?** Seuls les serveurs où la directive `Protocols` contient `h2` ou `h2c` sont exposés. Un serveur qui ne sert que du HTTP/1.1 ne l'est pas.

| Profil | Exposition | Action |
| - | - | - |
| Apache avec HTTP/2 activé (`h2` ou `h2c`), accessible depuis Internet | **Critique** | Mettre à jour aujourd'hui ; à défaut, désactiver HTTP/2 en attendant |
| Apache avec HTTP/2 activé, accessible uniquement en interne | Élevée | Mettre à jour rapidement |
| Apache en HTTP/1.1 uniquement | Non exposé | Mettre à jour lors de la prochaine maintenance |
| RHEL 8, AlmaLinux 8, Rocky Linux 8 ; Ubuntu 18.04 et antérieures | Non affecté | Aucune action |

Pour savoir si HTTP/2 est actif :

```bash theme={null}
# Debian, Ubuntu
grep -ri 'Protocols' /etc/apache2/ 2>/dev/null

# RHEL, AlmaLinux, Rocky Linux
grep -r 'Protocols' /etc/httpd/conf/ /etc/httpd/conf.d/ 2>/dev/null
grep http2 /etc/httpd/conf.modules.d/*.conf
```

Une ligne `Protocols` active contenant `h2` ou `h2c` signifie que HTTP/2 est activé.

> [!NOTE]
>
> Ne vous fiez pas au seul numéro de version d'Apache. Les distributions rétroportent des versions récentes de mod\_http2 : Ubuntu 22.04 livre Apache 2.4.52 et figure pourtant parmi les versions concernées. Seul le bulletin de votre distribution fait foi.

## Mettre à jour par distribution

Le correctif définitif est la mise à jour du paquet, suivie d'un redémarrage d'Apache.

### Debian

| Version | Paquet `apache2` corrigé | Bulletin |
| - | - | - |
| Debian 13 (trixie) | `2.4.71-1~deb13u1` | DSA-6620-1 |
| Debian 12 (bookworm) | `2.4.71-1~deb12u1` | DLA-4902-1 |

### Ubuntu

| Version | Paquet `apache2` corrigé |
| - | - |
| 26.10 | `2.4.68-1ubuntu6.2` |
| 26.04 LTS | `2.4.66-2ubuntu2.8` |
| 24.04 LTS | `2.4.58-1ubuntu8.19` |
| 22.04 LTS | `2.4.52-1ubuntu4.27` |
| 20.04 LTS | `2.4.41-4ubuntu3.23+esm11` (Ubuntu Pro) |

Bulletin : USN-9090-1 du 12 novembre 2026.

```bash theme={null}
# Debian, Ubuntu : installer le correctif puis redémarrer Apache
sudo apt update
sudo apt install --only-upgrade apache2
sudo systemctl restart apache2

# Contrôler la version installée
dpkg -l apache2 | grep ^ii
```

### RHEL, AlmaLinux, Rocky Linux

Red Hat indique que RHEL 9 et RHEL 10 sont concernés. Sur ces versions, **mod\_http2 est livré dans un paquet séparé** d'`httpd` : mettez les deux à jour.

```bash theme={null}
sudo dnf upgrade httpd mod_http2
sudo systemctl restart httpd

# Contrôler les versions installées
rpm -q httpd mod_http2
```

Comparez le résultat avec l'avis de sécurité de votre distribution avant de considérer le serveur comme corrigé.

## Mitigation en attendant le correctif

Si vous ne pouvez pas mettre à jour tout de suite, Red Hat recommande de désactiver HTTP/2 : retirez `h2` et `h2c` de chaque directive `Protocols` pour ne garder que HTTP/1.1. Les clients basculent automatiquement en HTTP/1.1.

```apache theme={null}
# Avant
Protocols h2 h2c http/1.1

# Après
Protocols http/1.1
```

Appliquez la modification dans chaque fichier où `Protocols` apparaît (configuration globale et virtual hosts), puis redémarrez :

```bash theme={null}
# Debian, Ubuntu
sudo apache2ctl configtest && sudo systemctl restart apache2

# RHEL, AlmaLinux, Rocky Linux
sudo apachectl configtest && sudo systemctl restart httpd
```

## Vérifier la mitigation

```bash theme={null}
curl -kI --http2 https://localhost
```

* première ligne `HTTP/1.1 200 OK` : HTTP/2 est désactivé ;
* première ligne `HTTP/2 200` : HTTP/2 est toujours actif.

Relancez aussi le `grep` de la section « Évaluer son exposition » : plus aucune ligne `Protocols` active ne doit contenir `h2` ou `h2c`.

## Réactiver HTTP/2 après la mise à jour

Une fois le paquet corrigé installé, vous pouvez rétablir HTTP/2 :

```apache theme={null}
Protocols h2 http/1.1
```

```bash theme={null}
# Debian, Ubuntu
sudo apache2ctl configtest && sudo systemctl restart apache2

# RHEL, AlmaLinux, Rocky Linux
sudo apachectl configtest && sudo systemctl restart httpd
```

## Et après ?

La désactivation de HTTP/2 n'est qu'un palliatif : la cible reste le paquet corrigé de votre distribution. Pour toute question technique, ouvrez un ticket depuis votre [espace client OnetSolutions](https://help.onetsolutions.net/fr/console/support).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.