Description
A vulnerability was found in mod_wsgi. The X-Client-IP header is not removed from a request from an untrusted proxy, allowing an attacker to pass the X-Client-IP header to the target WSGI application because the condition to remove it is missing.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| — | mod_wsgi | mod_wsgi versions prior to 4.9.3 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | mod-wsgi | 4.9.0-1.1 | — |
| Debian 13 | mod-wsgi | 4.9.0-1.1 | — |
| Debian 12 | mod-wsgi | 4.9.0-1.1 | — |
| Debian 10 | mod-wsgi | 4.6.5-1+deb10u1 | DLA-3111-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 22.04 LTS | mod-wsgi | 4.9.0-1ubuntu0.1 | USN-5551-1 |
| Ubuntu 20.04 LTS | mod-wsgi | 4.6.8-1ubuntu3.1 | USN-5551-1 |
| Ubuntu 18.04 LTS | mod-wsgi | 4.5.17-1ubuntu1.1 | USN-5551-1 |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 8 | PyYAML +1 | 5.4.1-1.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | mod_wsgi +1 | 4.7.1-7.module+el8.10.0+23075+0aa18782.1 | RHSA-2025:4791 |
| RHEL 8 | numpy +3 | 1.19.4-3.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | python-PyMySQL +1 | 0.10.1-2.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | python-cffi +1 | 1.14.3-2.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | python-chardet +1 | 3.0.4-19.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | python-cryptography +1 | 3.3.1-3.module+el8.10.0+21271+eccd1d86 | RHSA-2025:4791 |
| RHEL 8 | python-idna +1 | 2.10-4.module+el8.10.0+21815+bb024982 | RHSA-2025:4791 |
| RHEL 8 | python-lxml +1 | 4.6.5-1.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | python-ply +1 | 3.11-10.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | python-psutil +1 | 5.8.0-4.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | python-psycopg2 +3 | 2.8.6-3.module+el8.10.0+21142+453d2b75 | RHSA-2025:4791 |
| RHEL 8 | python-pycparser +1 | 2.20-3.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | python-pysocks +1 | 1.7.1-4.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | python-requests +1 | 2.25.0-3.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | python-toml +1 | 0.10.1-5.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | python-urllib3 +1 | 1.25.10-5.module+el8.10.0+20443+f0a692fe | RHSA-2025:4791 |
| RHEL 8 | python-wheel +2 | 1:0.35.1-4.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | python39 +6 | 3.9.20-1.module+el8.10.0+22342+478c159e | RHSA-2025:4791 |
| RHEL 8 | python39-pip +2 | 20.2.4-9.module+el8.10.0+21329+8d76b841 | RHSA-2025:4791 |
| RHEL 8 | python39-setuptools +2 | 50.3.2-6.module+el8.10.0+22183+c898c0c1 | RHSA-2025:4791 |
| RHEL 8 | python39-six +1 | 1.15.0-3.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
| RHEL 8 | scipy +1 | 1.5.4-5.module+el8.9.0+19644+d68f775d | RHSA-2025:4791 |
AlmaLinux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux 8 | python39 +6 | 3.9.20-1.module_el8.10.0+3902+1690be06 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-PyMySQL | 0.10.1-2.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-cffi | 1.14.3-2.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-chardet | 3.0.4-19.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-cryptography | 3.3.1-3.module_el8.10.0+3765+2f9a457d | ALSA-2025:4791 |
| AlmaLinux 8 | python39-idna | 2.10-4.module_el8.10.0+3849+a48d89aa | ALSA-2025:4791 |
| AlmaLinux 8 | python39-lxml | 4.6.5-1.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-mod_wsgi | 4.7.1-7.module_el8.10.0+3989+a618fe15.1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-numpy +2 | 1.19.4-3.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-pip +1 | 20.2.4-9.module_el8.10.0+3765+2f9a457d | ALSA-2025:4791 |
| AlmaLinux 8 | python39-ply | 3.11-10.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-psutil | 5.8.0-4.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-psycopg2 +2 | 2.8.6-3.module_el8.10.0+3765+2f9a457d | ALSA-2025:4791 |
| AlmaLinux 8 | python39-pycparser | 2.20-3.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-pysocks | 1.7.1-4.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-pyyaml | 5.4.1-1.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-requests | 2.25.0-3.module_el8.9.0+3634+fb2a896c | ALSA-2025:4791 |
| AlmaLinux 8 | python39-scipy | 1.5.4-5.module_el8.9.0+3634+fb2a896c | ALSA-2025:4791 |
| AlmaLinux 8 | python39-setuptools +1 | 50.3.2-6.module_el8.10.0+3885+d986a391 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-six | 1.15.0-3.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-toml | 0.10.1-5.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
| AlmaLinux 8 | python39-urllib3 | 1.25.10-5.module_el8.10.0+3765+2f9a457d | ALSA-2025:4791 |
| AlmaLinux 8 | python39-wheel +1 | 1:0.35.1-4.module_el8.6.0+2780+a40f65e1 | ALSA-2025:4791 |
Rocky Linux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Rocky Linux 8 | PyYAML | 5.4.1-1.module+el8.9.0+1418+f0d66789 | RLSA-2025:4791 |
| Rocky Linux 8 | mod_wsgi | 4.7.1-7.module+el8.10.0+1582+bc278001 | RLSA-2025:4791 |
| Rocky Linux 8 | numpy | 1.19.4-3.module+el8.10.0+1582+bc278001 | RLSA-2025:4791 |
| Rocky Linux 8 | python-PyMySQL | 0.10.1-2.module+el8.10.0+1582+bc278001 | RLSA-2025:4791 |
| Rocky Linux 8 | python-cffi | 1.14.3-2.module+el8.10.0+1582+bc278001 | RLSA-2025:4791 |
| Rocky Linux 8 | python-chardet | 3.0.4-19.module+el8.9.0+1418+f0d66789 | RLSA-2025:4791 |
| Rocky Linux 8 | python-cryptography | 3.3.1-3.module+el8.10.0+1697+7e517775 | RLSA-2025:4791 |
| Rocky Linux 8 | python-idna | 2.10-4.module+el8.10.0+1809+41195054 | RLSA-2025:4791 |
| Rocky Linux 8 | python-lxml | 4.6.5-1.module+el8.10.0+1582+bc278001 | RLSA-2025:4791 |
| Rocky Linux 8 | python-ply | 3.11-10.module+el8.9.0+1418+f0d66789 | RLSA-2025:4791 |
| Rocky Linux 8 | python-psutil | 5.8.0-4.module+el8.9.0+1357+a3b80af7 | RLSA-2025:4791 |
| Rocky Linux 8 | python-psycopg2 | 2.8.6-3.module+el8.10.0+1660+b5b6f004 | RLSA-2025:4791 |
| Rocky Linux 8 | python-pycparser | 2.20-3.module+el8.10.0+1582+bc278001 | RLSA-2025:4791 |
| Rocky Linux 8 | python-pysocks | 1.7.1-4.module+el8.9.0+1418+f0d66789 | RLSA-2025:4791 |
| Rocky Linux 8 | python-requests | 2.25.0-3.module+el8.10.0+1582+bc278001 | RLSA-2025:4791 |
| Rocky Linux 8 | python-toml | 0.10.1-5.module+el8.9.0+1332+dd574197 | RLSA-2025:4791 |
| Rocky Linux 8 | python-urllib3 | 1.25.10-5.module+el8.10.0+1545+03246da9 | RLSA-2025:4791 |
| Rocky Linux 8 | python-wheel | 1:0.35.1-4.module+el8.10.0+1582+bc278001 | RLSA-2025:4791 |
| Rocky Linux 8 | python39 | 3.9.20-1.module+el8.10.0+1876+829fd4e0 | RLSA-2025:4791 |
| Rocky Linux 8 | python3x-pip | 20.2.4-9.module+el8.10.0+1721+e52d6351 | RLSA-2025:4791 |
| Rocky Linux 8 | python3x-setuptools | 50.3.2-6.module+el8.10.0+1861+0f5e39ec | RLSA-2025:4791 |
| Rocky Linux 8 | python3x-six | 1.15.0-3.module+el8.10.0+1582+bc278001 | RLSA-2025:4791 |
| Rocky Linux 8 | scipy | 1.5.4-5.module+el8.10.0+1582+bc278001 | RLSA-2025:4791 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP4 | apache2-mod_wsgi | 4.7.1-150400.3.3.1 | SUSE-SU-2022:4010-1 |
| SLES 15 SP4 | apache2-mod_wsgi-python3 | 4.5.18-150000.4.6.1 | SUSE-SU-2022:4488-1 |
| SLES 15 SP3 | apache2-mod_wsgi +1 | 4.5.18-150000.4.6.1 | SUSE-SU-2022:4488-1 |
| SLES 15 SP2 | apache2-mod_wsgi | 4.5.18-150000.4.6.1 | SUSE-SU-2022:4488-1 |
| SLES 15 SP1 | apache2-mod_wsgi | 4.5.18-150000.4.6.1 | SUSE-SU-2022:4488-1 |
| SLES 12 | apache2-mod_wsgi | 4.4.13-3.3.1 | SUSE-SU-2022:4013-1 |
Show 6 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SUSE OpenStack Cloud Crowbar 8 | apache2-mod_wsgi | 4.4.13-3.3.1 | SUSE-SU-2022:4013-1 |
| SUSE OpenStack Cloud 8 | apache2-mod_wsgi | 4.4.13-3.3.1 | SUSE-SU-2022:4013-1 |
| SUSE Manager Proxy Module 4.3 | apache2-mod_wsgi-python3 | 4.5.18-150000.4.6.1 | SUSE-SU-2022:4488-1 |
| SUSE Manager Proxy Module 4.2 | apache2-mod_wsgi-python3 | 4.5.18-150000.4.6.1 | SUSE-SU-2022:4488-1 |
| SUSE Manager Proxy Module 4.1 | apache2-mod_wsgi-python3 | 4.5.18-150000.4.6.1 | SUSE-SU-2022:4488-1 |
| SUSE HPE Helion OpenStack 8 | apache2-mod_wsgi | 4.4.13-3.3.1 | SUSE-SU-2022:4013-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | apache2-mod_wsgi | 4.9.4-1.1 | openSUSE-SU-2024:12535-1 |
| openSUSE Leap 15.4 | apache2-mod_wsgi | 4.7.1-150400.3.3.1 | SUSE-SU-2022:4010-1 |
| openSUSE Leap 15.4 | apache2-mod_wsgi-python3 | 4.5.18-150000.4.6.1 | SUSE-SU-2022:4488-1 |
| openSUSE Leap 15.3 | apache2-mod_wsgi +1 | 4.5.18-150000.4.6.1 | SUSE-SU-2022:4488-1 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 2 (CBL-Mariner) | mod_wsgi | 4.9.3-2 | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 8 | python39 +6 | 3.9.20-1.module+el8.10.0+90419+54594e05 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-PyMySQL | 0.10.1-2.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-cffi | 1.14.3-2.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-chardet | 3.0.4-19.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-cryptography | 3.3.1-3.0.1.module+el8.10.0+90269+2fa22b99 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-idna | 2.10-4.module+el8.10.0+90341+71ca88f4 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-lxml | 4.6.5-1.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-mod_wsgi | 4.7.1-7.module+el8.10.0+90570+e9e3ed00.1 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-numpy +2 | 1.19.4-3.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-pip +1 | 20.2.4-9.module+el8.10.0+90269+2fa22b99 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-ply | 3.11-10.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-psutil | 5.8.0-4.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-psycopg2 +2 | 2.8.6-3.module+el8.10.0+90269+2fa22b99 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-pycparser | 2.20-3.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-pysocks | 1.7.1-4.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-pyyaml | 5.4.1-1.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-requests | 2.25.0-3.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-scipy | 1.5.4-5.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-setuptools +1 | 50.3.2-6.module+el8.10.0+90395+b6c4aad1 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-six | 1.15.0-3.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-toml | 0.10.1-5.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-urllib3 | 1.25.10-5.module+el8.10.0+90269+2fa22b99 | ELSA-2025-4791 |
| Oracle Linux 8 | python39-wheel +1 | 1:0.35.1-4.module+el8.9.0+90016+9c2d6573 | ELSA-2025-4791 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | mod-wsgi | < 4.9.3 | 4.9.3 | GHSA-7527-8855-9cf8 |
Advisories 10
- ALSA-2025:4791 Moderate: python39:3.9 security update AlmaLinux Security Advisories · Oct 29, 2026
- RHSA-2025:4791 Red Hat Security Advisory: python39:3.9 security update Red Hat Security Advisories (RHSA) · Mar 18, 2026
- DLA-3111-1 mod-wsgi - security update Debian Security (DSA / DLA) · Mar 9, 2026
- USN-5551-1 mod-wsgi vulnerability Ubuntu Security Notices (USN) · Feb 10, 2026
- openSUSE-SU-2024:12535-1 apache2-mod_wsgi-4.9.4-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2022:4010-1 Security update for apache2-mod_wsgi SUSE / openSUSE Security Updates · Feb 4, 2026
- RLSA-2025:4791 Moderate: python39:3.9 security update Rocky Linux Security Advisories · Jul 29, 2025
- ELSA-2025-4791 Moderate: python39:3.9 security update (Oracle Linux 8) Oracle Linux Security Advisories (ELSA) · May 12, 2025
- SUSE-SU-2022:4013-1 Security update for apache2-mod_wsgi SUSE / openSUSE Security Updates · May 2, 2025
- SUSE-SU-2022:4488-1 Security update for apache2-mod_wsgi SUSE / openSUSE Security Updates · May 2, 2025
References
- https://modwsgi.readthedocs.io/en/latest/release-notes/version-4.9.3.html
- https://github.com/GrahamDumpleton/mod_wsgi/blob/4.9.2/src/server/mod_wsgi.c#L13940-L13941
- https://github.com/GrahamDumpleton/mod_wsgi/blob/4.9.2/src/server/mod_wsgi.c#L14046-L14082
- [debian-lts-announce] 20220915 [SECURITY] [DLA 3111-1] mod-wsgi security update mailing-list