A researcher disclosed a four-vulnerability chain that enabled unauthenticated remote code execution on GitHub Enterprise versions before 2.8.7. The attack began with a WebHook server-side request forgery (SSRF) bypass using an unusual IP-address representation to evade Faraday restrictions, then used a second SSRF flaw to reach the internal Graphite service.
A CRLF injection in Python's HTTPConnection allowed protocol smuggling to internal Memcached, where an attacker could plant a malicious Ruby Marshal object in cache. When GitHub Enterprise deserialized the poisoned object, it executed attacker-controlled commands. GitHub validated the report and released version 2.8.7, adding SSRF and internal network-access protections.

See affected versions and whether adversaries are exploiting it.
3 events from the most recent confirmed update back to the earliest known activity.
GitHub confirmed the vulnerability chain was fixed and awarded the researcher a $7,500 bounty plus a $5,000 best-report bonus.
GitHub released GitHub Enterprise 2.8.7 to remediate the reported exploit chain, including protections against the SSRF and internal-service access paths used in the attack.
A researcher submitted HackerOne report 200542 to GitHub describing a four-vulnerability chain that could lead from WebHook SSRF to remote code execution in GitHub Enterprise versions before 2.8.7.
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
See whether adversaries are exploiting this yet, and where the affected versions run in your environment.
2 references tracked. Mallory keeps watching after this page renders.
Map indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.