CVE-2026-107785 in Crux Agent
Summary
by MITRE • 10/09/2026
Crux Agent from 1.9.0 before 2.0.3 uses the full SKA bilocation key as the WireGuard preshared key. When a peering session negotiates use of SHA-512, the key produced is 64 bytes instead of the 32 bytes WireGuard requires. The agent does not validate this size; instead it attempts to use the `wg set` command to update the live tunnel, and write the invalid key to the WireGuard configuration file. The update fails, so the live tunnel keeps using its previous preshared key until the tunnel is shut down. The tunnel will fail to start when restarted.
For a peer which has never successfully negotiated a 32-byte bilocation key in a Crux C2 organization which has the "Enforce SKA Use" setting turned off, no preshared key will be set for the tunnel. Therefore, an attacker who is able to intercept and store the peer's traffic, and has access (or will have access) to a cryptographically relevant quantum computer, will be able to decrypt the tunnel.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Analysis
by VulDB Data Team • 10/09/2026
The Crux Agent software versions ranging from 1.9.0 up to but not including 2.0.3 contain a critical implementation flaw in its handling of WireGuard preshared keys during peer negotiation processes. The vulnerability stems from an incorrect key derivation mechanism where the agent utilizes the full SKA bilocation key, which results in a sixty-four-byte output when SHA-512 is negotiated for peering sessions. This length exceeds the strict thirty-two-byte requirement mandated by the WireGuard protocol specification for preshared keys used to establish authenticated tunnels. The core technical failure lies within the agent's validation logic, or lack thereof; rather than truncating the key or rejecting the negotiation parameters that lead to an oversized key, the software proceeds to interact with the system-level networking tools without verifying the integrity of the generated credential material.
When this invalid sixty-four-byte key is processed, the agent attempts to apply it using standard command-line utilities such as wg set to update the live tunnel configuration and simultaneously writes the malformed data to the persistent WireGuard configuration file on disk. Because the underlying system rejects keys that do not conform to the expected byte length, the immediate application of this new key fails silently or results in an error state where the operational tunnel retains its previous preshared key. This creates a confusing state for administrators as the live connection appears stable but is technically misconfigured relative to the intended security policy. More critically, upon any subsequent restart of the WireGuard interface or service, the system attempts to load the invalid configuration from disk. Since the stored file contains the non-compliant sixty-four-byte key, the tunnel fails to initialize entirely, resulting in a denial of service for that specific peer connection until manual intervention corrects the configuration data.
Beyond the immediate operational disruption and availability impact caused by the inability to establish or maintain tunnels, there are significant long-term cryptographic risks associated with this flaw under specific organizational configurations. In Crux C2 environments where the Enforce SKA Use setting is disabled, peers that have never successfully negotiated a compliant thirty-two-byte bilocation key may end up establishing sessions without any preshared key at all. The absence of a preshared key removes an additional layer of authentication and integrity verification provided by WireGuard's Noise protocol framework. While the underlying elliptic curve cryptography remains secure against classical attacks, this omission leaves the communication channel vulnerable to future threats posed by quantum computing capabilities. An adversary capable of intercepting and storing encrypted traffic today could potentially decrypt it in the future using a cryptographically relevant quantum computer that breaks the discrete logarithm problem or related hardness assumptions relied upon for key exchange integrity without preshared keys.
This vulnerability maps directly to CWE-20, which describes Improper Input Validation, as the software fails to validate the length of the derived cryptographic material before attempting system-level operations. It also relates to CWE-319, Use of a Key Past its Expiration Date or in an Invalid Context, specifically regarding the use of keys that do not meet protocol specifications. From a threat modeling perspective aligned with MITRE ATT&CK techniques, this flaw facilitates potential network sniffing and data exfiltration if an attacker can capture traffic from peers lacking preshared keys. The scenario describes a store-now-decrypt-later attack vector enabled by the lack of forward secrecy guarantees provided by the missing preshared key component in quantum-vulnerable contexts.
To mitigate these risks, organizations running Crux Agent versions prior to 2.0.3 should immediately upgrade to version 2.0.3 or later where this validation logic has been corrected. For environments that cannot be upgraded instantly, administrators must manually inspect WireGuard configuration files for any entries containing preshared keys with lengths other than thirty-two bytes and remove or correct them to restore tunnel functionality. Additionally, it is strongly recommended to enable the Enforce SKA Use setting within Crux C2 organizations to ensure that all peers are required to negotiate compliant key structures, thereby preventing the creation of tunnels without essential authentication layers. Regular auditing of network configurations against protocol specifications remains a best practice to prevent similar implementation errors in cryptographic subsystems.