CVE-2021-29431 is a medium-severity (CVSS 6.5) Improper Input Validation vulnerability in matrix-sydent. A fix is available for matrix-sydent — see the affected versions and patch details below.
SSRF in Sydent due to missing validation of hostnames
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
matrix-sydentReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.
Description
Impact
Sydent can be induced to send HTTP GET requests to internal systems, due to lack of parameter validation or IP address blacklisting.
It is not possible to exfiltrate data or control request headers, but it might be possible to use the attack to perform an internal port enumeration.
Patches
Fixed in 9e57334, 8936925, 3d531ed, 0f00412
Workarounds
A potential workaround would be to use a firewall to ensure that Sydent cannot reach internal HTTP resources.
For more information
If you have any questions or comments about this advisory, email us at [email protected].
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐍PyPI | matrix-sydent | all versions | 2.3.0pip install --upgrade 'matrix-sydent==2.3.0' |
Affected Products
sydentmatrixDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for matrix-sydent, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update matrix-sydent to 2.3.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2021-29431 is resolved across your whole dependency graph.
Workarounds
Restrict outbound requests from the affected component to an allowlist of hosts, block access to link-local and internal address ranges at the network layer, and require authentication on internal services so a forged request cannot reach them unauthenticated.
Frequently Asked Questions
Is CVE-2021-29431 in your dependencies?
Find it across PyPI, including transitive dependencies.