Home/CVE/A vulnerability was found in mod_wsgi. The X-Client-IP header is not removed from a request from an untrusted proxy, all
CVE
CVE-2022-22554
A vulnerability was found in mod_wsgi. The X-Client-IP header is not removed from a request from an untrusted proxy, all
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.
HIGH · CVSS 7.5
EPSS 0.00665
EPSS exploitation odds0.66% · top 53%
Act now
- Public exploit or PoC is available
- CVSS base score ≥ 7.0
No Sigma yet — build one →
YARA rules0
Look this up elsewhere - one-click external pivots
▸
How to read a CVE - triage first, then detect and patch
This page is every public fact about CVE-2022-2255, cross-linked. Its job is to answer one question fast - does this need my attention now? - and then hand you the two things you do about it. Here is how an analyst reads it.
Triage: should I act now? Four signals, and they are not interchangeable:
CVSSseverity - how bad it is IF exploited, 0-10. A high CVSS alone is not urgency; a flaw can be a perfect 10 and never actually be attacked.
EPSSprobability - a model’s estimate of the chance it is exploited in the next 30 days, 0-1. This is the “will it actually happen” signal.
CISA KEVconfirmed - it is being exploited in the wild right now. The strongest signal on the page; KEV beats any score.
Weaponisedavailability - public exploits / PoCs, and especially Metasploit modules rated Excellent / Great. Reliable, packaged exploit code means low-skill attackers can use it today.
How they combine: KEV, or a dependable Metasploit module, means patch now regardless of CVSS. High CVSS + low EPSS + no exploit is real but not an emergency - schedule it. Low CVSS but KEV-listed still gets patched now. The verdict above already weighed these for you; this is how it got there.
Then what - two workflows:
Detectwhen you cannot patch today, follow this CVE to the ATT&CK techniques it enables, then Build a SIEM detection (the green button) - author a rule, test it in Atomic, deploy it. That buys visibility while the patch waits.
PatchAffected products / packages tell you if you are exposed; Fixed versions by distribution and Vendor advisories give the exact version that closes it.
Reading order for the panels below: verdict + badges, then Public exploits / Metasploit (is it weaponised), then ATT&CK techniques + Sigma / IDS rules (can I detect it), then Affected products / packages + Fixed versions (am I exposed, what patches it), then Threat actors / IOCs (who uses it), then Scoring & timeline / references (the evidence).
EPSS exploitation probability
0.66%
Top 53%odds of exploitation in the next 30 days
CVSS metric silhouette
shape grows toward worst-case
SSVC triage
No SSVC vulnrichment for this CVE. CISA's Vulnrichment program scores newer CVEs (~2024 onwards) plus selected older critical ones. Use the EPSS probability + KEV status to triage instead.
CVSS vector breakdown
Exploitability - how they get in
Attack Vector
Network
Adjacent
Local
Physical
Attack Complexity
Low
High
Privileges Required
None
Low
High
User Interaction
None
Required
Scope
Unchanged
Changed
Impact - what breaks
Confidentiality
None
Low
High
Integrity
None
Low
High
Availability
None
Low
High
VECTOR
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NLifecycle
- 25 Aug 2022Published to NVD
- 17 Jun 2026Last modified
Every entry is a recorded date - NVD publish/modify, CISA KEV add, public exploit disclosure. No inferred events.
Attack path
Full kill chain
⚠
Public Exploits & PoCs
4These PoC and exploit links come from public sources and are not verified to be safe or functional. Review the code before running anything, and treat unverified entries as untrusted. Signed-in users mark whether it works, rate 1-10, and can report malware with a required reason that becomes a public comment.
Works?
no reports yet
Rating
Works?
no reports yet
Rating
Works?
no reports yet
Rating
Works?
no reports yet
Rating
◆
ATT&CK techniques
2Techniques this CVE enables. Pills with a solid outline are high confidence - named directly in ATT&CK or Nuclei, or human-curated by CTID; the rest are inferred from the weakness type using MITRE's CVE Mapping Methodology and the CWE → CAPEC chain. Broad, generic-weakness guesses are filtered out. A small N× marks a technique that N independent sources agree on.
▤ Build a SIEM detection for these techniques▤
CAPEC attack patterns
12Attack patterns this CVE enables - the bridge from weakness to ATT&CK technique.
CAPEC-CAPEC-111 · JSON Hijacking (aka JavaScript Hijacking) CAPEC-CAPEC-141 · Cache Poisoning CAPEC-CAPEC-142 · DNS Cache Poisoning CAPEC-CAPEC-148 · Content Spoofing CAPEC-CAPEC-218 · Spoofing of UDDI/ebXML Messages CAPEC-CAPEC-384 · Application API Message Manipulation via Man-in-the-Middle CAPEC-CAPEC-385 · Transaction or Event Tampering via Application API Manipulation CAPEC-CAPEC-386 · Application API Navigation Remapping CAPEC-CAPEC-387 · Navigation Remapping To Propagate Malicious Content CAPEC-CAPEC-388 · Application API Button Hijacking CAPEC-CAPEC-665 · Exploitation of Thunderbolt Protection Flaws CAPEC-CAPEC-701 · Browser in the Middle (BiTM)
⬡
Weakness Classification
▤
Affected Products & Versions
2modwsgi mod wsgi< 4.9.3
debian linuxall versions
▤
Affected Packages
1Language-ecosystem packages (from OSV) tied to this CVE, with the version that fixes it - the dependency-level detail NVD doesn’t carry.
PyPI
mod-wsgi
HIGH
fixed in 4.9.3
▤
Related CVEs
8CVEs linked to this one by a shared weakness (CWE) or affected product - joins on data already in the engine, with the reason shown per row. Not a guess.
CVE-2013-7397
Async Http Client (aka AHC or async-http-client) before 1.9.0 skips X.509 certif...
same CWE-345
CVE-2013-7398
main/java/com/ning/http/client/AsyncHttpClientConfig.java in Async Http Client (...
same CWE-345
CVE-2013-2167
python-keystoneclient version 0.2.3 to 0.2.5 has middleware memcache signing byp...
same CWE-345
CRITICAL
CVE-2014-0364
The ParseRoster component in the Ignite Realtime Smack XMPP API before 4.0.0-rc1...
same CWE-345
CVE-2021-21373
Nimble is a package manager for the Nim programming language. In Nim release ver...
same CWE-348
HIGH
CVE-2021-21374
Nimble is a package manager for the Nim programming language. In Nim release ver...
same CWE-348
HIGH
CVE-2022-31813
Apache HTTP Server 2.4.53 and earlier may not send the X-Forwarded-* headers to ...
same CWE-348
CRITICAL
CVE-2022-4537
The Hide My WP Ghost - Security Plugin plugin for WordPress is vulnerable to IP ...
same CWE-348
MEDIUM
📦
Fixed versions by distribution
70The package version that resolves this CVE on each Linux distribution, from the vendor’s published security data. fixed in shows a patched version exists; open means the package is listed as affected with no fix yet.
oracle allpython39 open
oracle allpython39-PyMySQL fixed in 0:0.10.1-2.module+el8.9.0+90016+9c2d6573
oracle allpython39-cffi open
oracle allpython39-chardet open
oracle allpython39-cryptography fixed in 0:3.3.1-3.0.1.module+el8.10.0+90269+2fa22b99
oracle allpython39-devel open
oracle allpython39-idle fixed in 0:3.9.20-1.module+el8.10.0+90419+54594e05
oracle allpython39-idna open
oracle allpython39-libs fixed in 0:3.9.20-1.module+el8.10.0+90419+54594e05
oracle allpython39-lxml open
oracle allpython39-mod_wsgi fixed in 0:4.7.1-7.module+el8.10.0+90570+e9e3ed00.1
oracle allpython39-numpy fixed in 0:1.19.4-3.module+el8.9.0+90016+9c2d6573
oracle allpython39-numpy-f2py fixed in 0:1.19.4-3.module+el8.9.0+90016+9c2d6573
oracle allpython39-pip open
oracle allpython39-pip-wheel fixed in 0:20.2.4-9.module+el8.10.0+90269+2fa22b99
oracle allpython39-ply fixed in 0:3.11-10.module+el8.9.0+90016+9c2d6573
oracle allpython39-psutil fixed in 0:5.8.0-4.module+el8.9.0+90016+9c2d6573
oracle allpython39-psycopg2 fixed in 0:2.8.6-3.module+el8.10.0+90269+2fa22b99
oracle allpython39-psycopg2-tests open
oracle allpython39-pycparser open
oracle allpython39-pysocks fixed in 0:1.7.1-4.module+el8.9.0+90016+9c2d6573
oracle allpython39-pyyaml open
oracle allpython39-requests open
oracle allpython39-rpm-macros open
oracle allpython39-scipy fixed in 0:1.5.4-5.module+el8.9.0+90016+9c2d6573
oracle allpython39-setuptools open
oracle allpython39-setuptools-wheel fixed in 0:50.3.2-6.module+el8.10.0+90395+b6c4aad1
oracle allpython39-six fixed in 0:1.15.0-3.module+el8.9.0+90016+9c2d6573
oracle allpython39-test fixed in 0:3.9.20-1.module+el8.10.0+90419+54594e05
oracle allpython39-tkinter open
oracle allpython39-toml fixed in 0:0.10.1-5.module+el8.9.0+90016+9c2d6573
oracle allpython39-urllib3 fixed in 0:1.25.10-5.module+el8.10.0+90269+2fa22b99
oracle allpython39-wheel fixed in 1:0.35.1-4.module+el8.9.0+90016+9c2d6573
oracle allpython39-wheel-wheel open
rhel 8python39 open
rhel 8python39-PyMySQL fixed in 0:0.10.1-2.module+el8.9.0+19644+d68f775d
rhel 8python39-cffi fixed in 0:1.14.3-2.module+el8.9.0+19644+d68f775d
rhel 8python39-chardet open
rhel 8python39-cryptography open
rhel 8python39-devel open
rhel 8python39-idle fixed in 0:3.9.20-1.module+el8.10.0+22342+478c159e
rhel 8python39-idna open
rhel 8python39-libs fixed in 0:3.9.20-1.module+el8.10.0+22342+478c159e
rhel 8python39-lxml fixed in 0:4.6.5-1.module+el8.9.0+19644+d68f775d
rhel 8python39-mod_wsgi fixed in 0:4.7.1-7.module+el8.10.0+23075+0aa18782.1
rhel 8python39-numpy fixed in 0:1.19.4-3.module+el8.9.0+19644+d68f775d
rhel 8python39-numpy-f2py open
rhel 8python39-pip open
rhel 8python39-pip-wheel fixed in 0:20.2.4-9.module+el8.10.0+21329+8d76b841
rhel 8python39-ply open
rhel 8python39-psutil open
rhel 8python39-psycopg2 fixed in 0:2.8.6-3.module+el8.10.0+21142+453d2b75
rhel 8python39-psycopg2-tests open
rhel 8python39-pycparser fixed in 0:2.20-3.module+el8.9.0+19644+d68f775d
rhel 8python39-pysocks fixed in 0:1.7.1-4.module+el8.9.0+19644+d68f775d
rhel 8python39-pyyaml open
rhel 8python39-requests open
rhel 8python39-rpm-macros open
rhel 8python39-scipy fixed in 0:1.5.4-5.module+el8.9.0+19644+d68f775d
rhel 8python39-setuptools open
rhel 8python39-setuptools-wheel open
rhel 8python39-six open
rhel 8python39-test open
rhel 8python39-tkinter fixed in 0:3.9.20-1.module+el8.10.0+22342+478c159e
rhel 8python39-toml open
rhel 8python39-urllib3 open
rhel 8python39-wheel fixed in 1:0.35.1-4.module+el8.9.0+19644+d68f775d
rhel 8python39-wheel-wheel open
suse sle15apache2-mod_wsgi fixed in 0:4.7.1-150400.3.3.1
suse sle15apache2-mod_wsgi-python3 fixed in 0:4.5.18-150000.4.6.1
⚑
Vendor Advisories
7suse-csafopenSUSE-SU-2024:12535-1
suse-csafSUSE-SU-2022:4488-1
suse-csafSUSE-SU-2022:4010-1
suse-csafSUSE-SU-2022:4013-1
msrcCVE-2022-2255
usnUSN-5551-1
🔗
References & Sources
2Source URLs (vendor pages, mailing lists, write-ups). Exploit/PoC links are in their own section above to avoid duplication.