Primary technical disclosure. Horizon3.ai researchers used Anthropic's Mythos model to find the flaw and published the analysis on 30 September 2026.
Resources · Research · 01
Automated Vulnerability Discovery and the Weak-PRNG Risk Class
A defensive analysis of CVE-2026-61500 (Rejetto HFS), discovered with Anthropic's Mythos model under Project Glasswing.
The attack chain, and where to break it
A conceptual overview of how a predictable-randomness flaw becomes administrative code execution, with the defensive control that breaks each link. Select a stage. No exploit detail is shown; for the technical write-up see Horizon3.ai (opens in a new tab).
Unauthenticated exposure
An HFS 3.x instance is reachable on the network without authentication, exposing endpoints to anonymous clients.
Keep file servers off the public internet where possible; put them behind a VPN or reverse proxy with authentication, and restrict management interfaces by IP.
Predictable randomness (CWE-338)
Security-sensitive values are derived from a non-cryptographic generator (V8's Math.random, an xorshift128+ PRNG) rather than a cryptographically secure source.
Generate all tokens, keys and signing material from a CSPRNG (e.g. Node's crypto.randomBytes / webcrypto). Treat Math.random output as non-secret.
Key predictability
Because the signing material is predictable, an attacker can determine the key used to sign session cookies without ever authenticating.
Rotate signing keys on upgrade, derive them from high-entropy secrets at install time, and store them outside of code paths that reuse weak randomness.
Session forgery
With the signing key known, a valid administrator session cookie can be forged, granting privileged access without credentials.
Bind sessions to additional server-side state, monitor for sessions that never performed a login, and alert on admin sessions from new ASNs/geographies.
Administrative RCE
Administrative access to HFS exposes configuration capabilities that can lead to remote code execution on the host.
Patch to HFS 3.2.1+, run the service as a low-privilege user, restrict its filesystem scope, and egress-filter the host so a compromise cannot call out.
Overview & abstract
Executive overview
In 2026 a new class of security finding became routine: vulnerabilities discovered not by a human researcher reading code, but by large language models reasoning over it at scale. CVE-2026-61500, a critical flaw in the widely used Rejetto HTTP File Server (HFS), is a clear example. It was found with Anthropic's Mythos model as part of Project Glasswing, Anthropic's programme for finding and disclosing flaws in critical open-source software [Anthropic], and reported by researchers at Horizon3.ai [Horizon3.ai].
The flaw itself is an old and well-understood mistake in a modern runtime: security-sensitive values were derived from a non-cryptographic random number generator. Because that randomness is predictable, an unauthenticated attacker can determine the key used to sign session cookies, forge an administrator session, and from there reach remote code execution on the host [SecurityWeek]. It is catalogued as CWE-338, Use of a Cryptographically Weak PRNG, and scored CVSS 4.0 9.3 (Critical) [NVD / NIST].
This analysis is written for defenders and software-supply-chain owners. It explains what the vulnerability class is, why AI-assisted discovery changes the defensive calendar, and how to find and fix the same pattern in your own estate. It deliberately contains no exploit code, recovery mathematics or step-by-step attack procedure, the technical disclosure is linked for those who need it [Horizon3.ai].
Why this matters beyond one product
Two shifts make CVE-2026-61500 worth studying as a pattern rather than a one-off. First, the time from disclosure to exploitation collapsed to roughly a day: a public proof-of-concept and in-the-wild activity followed the write-up almost immediately [VulnCheck]. Second, AI-assisted programmes can surface deep, math-heavy bugs in dependencies that have been shipping for years. For anyone maintaining a software bill of materials, that means the set of "quietly fine" components can change quickly, and the window to patch is shorter than the old mental model assumes.
The weak-PRNG class
The weak-PRNG risk class (CWE-338)
Every programming runtime ships a fast, general-purpose random number generator for everyday work: shuffling a list, jittering a retry, picking a sample. In the V8 engine that powers Node.js, that generator is Math.random(), implemented with an algorithm called xorshift128+ [SecurityWeek]. It is excellent at being fast and statistically uniform. It is not designed to be unpredictable to an adversary, and that is the whole point of the risk class.
CWE-338 describes exactly this: using a cryptographically weak PRNG where security depends on the output being unguessable [NVD / NIST]. The danger is not that the numbers "look random", they do. The danger is that a general-purpose PRNG is built to be reproducible and analysable, which is the opposite of what a secret needs to be. When such output is used, directly or indirectly, to produce session tokens, signing keys, password-reset tokens, API keys or nonces, the security of the whole system rests on a value an attacker can anticipate.
Where it went wrong in HFS
In CVE-2026-61500, the signing material behind HFS's session cookies traced back to Math.random() rather than a cryptographically secure source [SecurityWeek]. Once signing material is predictable, the attacker does not need a password: they can produce a cookie the server will accept as a legitimate administrator, and administrative access to HFS leads on to code execution [Horizon3.ai]. The chain is shown in the attack-chain diagram above, at a conceptual level, with the defensive control that breaks each link.
General-purpose PRNG vs CSPRNG
Why the same output that is perfect for shuffling a list is unsafe for a secret.
- Fast and statistically uniform
- Reproducible and analysable by design
- Output is predictable to an adversary
- Unsafe for tokens, keys, nonces (CWE-338)
- Seeded from OS entropy
- Designed to be unpredictable
- Backtracking-resistant
- Correct choice for all secret material
Find and fix the pattern across ecosystems
The risky call and its cryptographically secure replacement, by language.
Math.random()Usecrypto.randomBytes() · crypto.getRandomValues()java.util.Random · Math.random()Usejava.security.SecureRandomrandom moduleUsesecrets module · os.urandom()rand() · mt_rand()Userandom_bytes() · random_int()rand()Usegetrandom(2) · arc4random_buf()math/randUsecrypto/randHow to find this pattern in your own code and dependencies
- Grep for the smell. In JavaScript/TypeScript, searches for
Math.random()near words liketoken,secret,key,session,nonce,passwordorresetare high-value. The equivalents in other ecosystems arejava.util.Random, C'srand(), Python'srandommodule and PHP'srand()/mt_rand(). - Prefer the CSPRNG. The fix is to generate secrets from a cryptographically secure generator:
crypto.randomBytes()or the Web Crypto API in Node,secretsin Python,java.security.SecureRandomin Java,random_bytes()in PHP. - Use static analysis. Most SAST tools and linters have a rule for insecure randomness (CWE-338); turn it on and treat it as a blocker in CI, not a warning.
- Check your dependencies, not just your code. The weak value is often several layers down in a library. This is where a bill of materials earns its keep, see the remediation view.
This section describes a general weakness class and how to remediate it. It is not a guide to attacking any specific system.
Severity breakdown (CVSS 4.0)
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N [NVD / NIST]
Exploitability
Impact on the system
Subsequent systems
AI-assisted discovery
AI-assisted discovery and what it changes for defenders
CVE-2026-61500 was surfaced by Anthropic's Mythos model under Project Glasswing, a programme Anthropic launched in April 2026 to apply the model to critical open-source software, reportedly finding a large number of flaws across widely used projects [Anthropic]. Horizon3.ai's researchers took the finding through validation and coordinated disclosure [Horizon3.ai]. Reporting on the case highlighted that the discovery leaned on the kind of mathematical reasoning that makes weak-randomness bugs hard for humans to spot by eye [The Register].
For a defender, the model that found the bug matters less than the operational shift it represents:
Flaws that sat unnoticed in mature dependencies for years can now be found in bulk. “Old and widely used, so probably fine” is a weaker assumption.
Here, public PoC and in-the-wild activity followed the write-up within about a day. SLAs tuned to a slower era become the gap attackers use.
The vendor fix shipped months before the write-up. Consuming advisories and patching continuously captures that lead time.
The same class of programme that found this bug, AI reasoning over code at scale, is also what makes a continuously maintained, queryable inventory of your software components valuable: when the next finding lands, the question "where do we run this?" needs an answer in minutes, not weeks.
Timeline & exploitation
-
Project Glasswing launched
Anthropic launches Project Glasswing, applying the Mythos Preview model to find flaws in critical open-source software. [Anthropic]
-
Patch released, HFS 3.2.1
Rejetto publishes HFS 3.2.1, which remediates the issue. CVE-2026-61500 is published the same day. [Rejetto]
-
Technical disclosure
Horizon3.ai publishes the technical write-up of the flaw, crediting discovery to the Mythos model. [Horizon3.ai]
-
Public proof-of-concept
A public proof-of-concept appears, lowering the barrier to exploitation. [The Hacker News]
-
Active exploitation
VulnCheck reports in-the-wild activity: reconnaissance from China Telecom IP space against canary hosts in the US and Japan. [VulnCheck]
A fix existed from 13 July 2026, yet exploitation began around 1 to 2 October 2026 [Rejetto] [VulnCheck]. The exposure window for most victims was created not by the attacker's speed but by the patch lag between the fix shipping and it being deployed. Continuous patching and a current inventory are what close that window.
Remediation & SBOM
Remediation and defensive checklist
If you run Rejetto HFS
- Upgrade to HFS 3.2.1 or later [Rejetto]. This is the vendor fix and the primary action.
- Treat any 3.0.0 to 3.2.0 instance exposed before upgrade as suspect. Rotate credentials and secrets, review admin activity and configuration changes, and check for unexpected scheduled tasks or outbound connections.
- Reduce exposure. Put the server behind authentication and, where possible, off the public internet; restrict the admin interface by source IP.
- Watch for the behaviour, not just the version. Alert on administrator sessions that never performed a login, and on admin access from new networks or geographies, the reported activity came from China Telecom IP space against US and Japan targets [VulnCheck].
For the weak-PRNG class generally
- Enable and enforce the insecure-randomness (CWE-338) rule in your SAST/linters.
- Audit your own code for general-purpose PRNGs used to generate secrets, and replace them with a CSPRNG.
- Prefer well-reviewed framework primitives for session management over hand-rolled signing.
The SBOM and governance angle
This is where continuous bill-of-materials governance pays off, and why IntelliXBOM is publishing the analysis. When a finding like CVE-2026-61500 lands:
- A current SBOM answers "do we run this component, and at what version?" across the estate in minutes, which is the difference between patching inside the one-day window and missing it.
- Correlating the SBOM with vulnerability feeds turns a new CVE into a specific, ranked worklist of affected systems rather than an all-hands scramble.
- Recording the upgrade as timestamped evidence demonstrates, to auditors and regulators, that the exposure window was closed and when.
IntelliXBOM helps organisations generate and validate SBOMs, correlate components with vulnerabilities and known-exploited lists, and produce that evidence. It does not certify compliance; it maps inventory to the controls and frameworks you report against.
This summarises public guidance and is not legal advice. Always follow the vendor advisory and your own change-management process.
Citations & sources
Authoritative record: CVSS 4.0 9.3 (CVSS 3.1 9.8), CWE-338, affected HFS 3.0.0 to 3.2.0, published 13 July 2026.
Vendor fix. HFS 3.2.1 was released on 13 July 2026 and is the remediation for this issue.
Exploitation telemetry. VulnCheck reported in-the-wild activity beginning ~2 October 2026, with reconnaissance from China Telecom IP space against canaries in the US and Japan.
Context on the discovery programme. Anthropic's Project Glasswing, launched 7 April 2026, applies the Mythos Preview model to find and disclose flaws in critical open-source software.
Reporting on discovery, disclosure and the start of exploitation; names Horizon3.ai, VulnCheck and the public PoC.
Reporting confirming the root cause (Math.random / xorshift128+ used for session-cookie signing material), the patch date and the exploitation timeline.
Reporting on the Mythos model's role and the mathematical nature of the discovery.
No sources match the current filter.