CVE-2024-52796: Pwpush Password Pusher Rate Limiter Can Vulnerability
LOWCVE-2024-52796 is a LOW (CVSS 5.3) password pusher rate limiter can vulnerability (CWE-770: Allocation of Resources Without Limits or Throttling) affecting Pwpush libraries in the RubyGems ecosystem. The issue involves password pusher rate limiter can be bypassed by forging proxy headers. Remediation is available by upgrading affected packages to version 1.49.0.
CVE-2024-52796 at a Glance
Security Impact
CVSS: 5.3
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L).
How to Fix CVE-2024-52796
To remediate this vulnerability, upgrade all affected Pwpush dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade pwpush to 1.49.0
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for pwpush
How to Check if You Are Affected
To determine whether your application is affected by CVE-2024-52796, inspect your project dependencies for Pwpush:
inspect dependencies for pwpush
Analyze the terminal output to locate any version of Pwpush in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.49.0), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-770: Allocation of Resources Without Limits or Throttling, where the product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated. In Pwpush, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2024-52796 Affected Pwpush Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
pwpush
|
RubyGems |
< 1.49.0
|
1.49.0
|
References
Frequently Asked Questions
What is CVE-2024-52796?
Which Pwpush versions are affected?
What version fixes CVE-2024-52796?
Is pwpush affected?
What is the CVSS score of CVE-2024-52796?
What CWE is associated with CVE-2024-52796?
How can I check RubyGems dependencies for CVE-2024-52796?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-ffp2-8p2h-4m5j",
"modified" : "2024-11-26T18:59:48Z",
"published" : "2024-11-20T18:24:28Z",
"aliases" : [ "CVE-2024-52796" ],
"summary" : "Password Pusher rate limiter can be bypassed by forging proxy headers",
"details" : "### Impact\n\nPassword 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.\n\nAdditionally, with the ability to bypass rate limiting, it also allows attackers to more easily execute brute force attacks.\n\n### Patches\n\nIn [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.\n\nIf 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.\n\n### Workarounds\n\nIt 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.\n\nIf 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.\n\n### References\n\nThe new settings are [configurable to authorize remote proxies](https://docs.pwpush.com/docs/proxies/#trusted-proxies).\n\n### Credits\n\nThank 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.\n",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
}, {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "RubyGems",
"name" : "pwpush"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "1.49.0"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/pglombardo/PasswordPusher/security/advisories/GHSA-ffp2-8p2h-4m5j"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2024-52796"
}, {
"type" : "WEB",
"url" : "https://docs.pwpush.com/docs/proxies/#trusted-proxies"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/pglombardo/PasswordPusher"
}, {
"type" : "WEB",
"url" : "https://github.com/pglombardo/PasswordPusher/releases/tag/v1.49.0"
}, {
"type" : "WEB",
"url" : "https://github.com/rubysec/ruby-advisory-db/blob/master/gems/pwpush/CVE-2024-52796.yml"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-770" ],
"severity" : "LOW",
"github_reviewed" : true,
"github_reviewed_at" : "2024-11-20T18:24:28Z",
"nvd_published_at" : "2024-11-20T17:15:20Z"
}
}