GHSA-ffp2-8p2h-4m5j
Password Pusher rate limiter can be bypassed by forging proxy headers
Quick fix
GHSA-ffp2-8p2h-4m5j — pwpush: upgrade to the fixed version with the command below.
bundle update pwpushDetails
### Impact
Password Pusher comes with a configurable rate limiter. In versions prior to [v1.49.0](https://github.com/pglombardo/PasswordPusher/releases/tag/v1.49.0), the rate limiter could be bypassed by forging proxy headers allowing bad actors to send unlimited traffic to the site potentially causing a denial of service.
Additionally, with the ability to bypass rate limiting, it also allows attackers to more easily execute brute force attacks.
### Patches
In [v1.49.0](https://github.com/pglombardo/PasswordPusher/releases/tag/v1.49.0), a fix was implemented to only authorize proxies on local IPs which resolves this issue.
If you are running a remote proxy, please see [this documentation](https://docs.pwpush.com/docs/proxies/#trusted-proxies) on how to authorize the IP address of your remote proxy.
### Workarounds
It is highly suggested to upgrade to at least [v1.49.0](https://github.com/pglombardo/PasswordPusher/releases/tag/v1.49.0) to mitigate this risk.
If for some reason you cannot immediately upgrade, the alternative is that you can add rules to your proxy and/or firewall to not accept external proxy headers such as `X-Forwarded-*` from clients.
### References
The new settings are [configurable to authorize remote proxies](https://docs.pwpush.com/docs/proxies/#trusted-proxies).
### Credits
Thank you to [Positive Technologies](https://www.ptsecurity.com/ww-en/) for reporting and working with me to bring this CVE to the community with the associated fix.
Are you affected?
Enter the version of the package you're using.
Affected packages
References
- https://github.com/pglombardo/PasswordPusher/security/advisories/GHSA-ffp2-8p2h-4m5j[WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2024-52796[ADVISORY]
- https://docs.pwpush.com/docs/proxies/#trusted-proxies[WEB]
- https://github.com/pglombardo/PasswordPusher[PACKAGE]
- https://github.com/pglombardo/PasswordPusher/releases/tag/v1.49.0[WEB]
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/pwpush/CVE-2024-52796.yml[WEB]