CVE-2025-68113
HMAC Binding Flaw in ALTCHA Enables Challenge Replay Attacks
Publication date: 2025-12-16
Last updated on: 2025-12-16
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| altcha | altcha | 1.0.0 |
| altcha | altcha | 1.3.1 |
| altcha | altcha | 1.4.1 |
| altcha | altcha | 1.3.0 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-115 | The product misinterprets an input, whether from an attacker or another product, in a security-relevant fashion. |
| CWE-347 | The product does not verify, or incorrectly verifies, the cryptographic signature for data. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2025-68113 is a cryptographic semantic binding flaw in the ALTCHA libraries used for captcha and bot protection. The vulnerability arises because the HMAC signature does not clearly bind the challenge parameters to the nonce, allowing an attacker to splice challenge payloads. This means an attacker can take a valid proof-of-work submission and modify its expiration value, enabling replay attacks where previously solved challenges are reused beyond their intended lifetime. This flaw primarily affects abuse-prevention mechanisms like rate limiting and bot mitigation but does not directly compromise data confidentiality or integrity. The issue is fixed by enforcing explicit separation between challenge parameters and the nonce during HMAC computation, typically by appending a delimiter (such as an ampersand '&') to the salt value to prevent ambiguity and parameter splicing. [5]
How can this vulnerability impact me? :
This vulnerability can impact you by allowing attackers to bypass abuse-prevention controls such as rate limiting and bot mitigation. Specifically, attackers can replay previously solved challenges by modifying the expiration value, effectively reusing valid proof-of-work submissions beyond their intended lifetime. This can lead to increased automated abuse or bot activity on your systems that rely on ALTCHA for protection. However, it does not directly affect the confidentiality or integrity of your data but compromises the integrity of the proof-of-work validation process. [5]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
Detection of this vulnerability involves checking for replay attacks where previously solved challenges are reused beyond their intended lifetime due to improper binding of challenge parameters to the nonce. Since the vulnerability is related to cryptographic parameter splicing in the salt value, one practical approach is to monitor for repeated or replayed proof-of-work submissions with modified expiration values. Specific commands are not provided in the resources, but detection could involve logging and analyzing challenge payloads for reused or manipulated salt parameters, especially those lacking the proper delimiter ("&") at the end. Additionally, verifying the version of the altcha libraries in use can help detect vulnerable deployments by checking if the versions are prior to the patched releases (e.g., altcha-lib npm < 1.4.1, altcha-lib-java < 1.3.0, altcha-lib-php < 1.3.1, altcha Golang package < 1.0.0). [5]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include upgrading all affected altcha libraries to the patched versions that address CVE-2025-68113. These versions include altcha Golang package 1.0.0, altcha Rubygem 1.0.0, altcha pip package 1.0.0, altcha Erlang package 1.0.0, altcha-lib npm package 1.4.1, altcha-org/altcha Composer package 1.3.1, and org.altcha:altcha Maven package 1.3.0. If upgrading immediately is not possible, a recommended workaround is to append a delimiter character (such as an ampersand '&') to the end of the salt value before HMAC computation (e.g., "<salt>?expires=<time>&"). This prevents ambiguity between challenge parameters and the nonce, blocking parameter splicing attacks. The fix involves ensuring the salt string ends with an ampersand to separate parameters properly, as implemented in multiple language libraries. Additionally, applying patches that enforce this delimiter and adding tests to reject tampered salts will mitigate the risk of replay attacks exploiting this vulnerability. [5, 2, 3, 4, 6, 7, 8, 9, 10]
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The vulnerability primarily impacts abuse-prevention mechanisms such as rate limiting and bot mitigation by allowing replay attacks through challenge payload splicing. It does not directly affect data confidentiality or integrity. Therefore, it does not directly compromise personal data protection or violate data privacy regulations like GDPR or HIPAA. However, because it may allow bypassing abuse-prevention controls, organizations relying on ALTCHA for security may face increased risk of automated abuse or denial of service, which could indirectly affect compliance if such abuse leads to unauthorized access or service disruption. Users are advised to upgrade to patched versions to mitigate these risks. [5]