CVE-2026-107785 (GCVE-0-2026-107785)
Vulnerability from cvelistv5
Published
2026-10-09 13:15
Modified
2026-10-09 16:46
CWE
  • CWE-394 - Unexpected Status Code or Return Value
  • CWE-252 - Unchecked Return Value
  • CWE-325 - Missing Cryptographic Step
Summary
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.
References
Impacted products
Vendor Product Version
Sirius Computer, Inc. Crux Agent Version: 1.9.0   ≤
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2026-107785",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-10-09T16:15:28.101092Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-10-09T16:46:40.880Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Crux Agent",
          "vendor": "Sirius Computer, Inc.",
          "versions": [
            {
              "lessThan": "2.0.3",
              "status": "affected",
              "version": "1.9.0",
              "versionType": "semver"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003eCrux 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.\u003c/p\u003e\u003cp\u003eFor 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\u0027s traffic, and has access (or will have access) to a cryptographically relevant quantum computer, will be able to decrypt the tunnel.\u003c/p\u003e"
            }
          ],
          "value": "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.\n\n\n\nFor 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\u0027s traffic, and has access (or will have access) to a cryptographically relevant quantum computer, will be able to decrypt the tunnel."
        }
      ],
      "impacts": [
        {
          "capecId": "CAPEC-97",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-97: Cryptanalysis"
            }
          ]
        }
      ],
      "metrics": [
        {
          "cvssV4_0": {
            "Automatable": "YES",
            "Recovery": "AUTOMATIC",
            "Safety": "NEGLIGIBLE",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "baseScore": 6.3,
            "baseSeverity": "MEDIUM",
            "exploitMaturity": "UNREPORTED",
            "privilegesRequired": "NONE",
            "providerUrgency": "AMBER",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "HIGH",
            "subIntegrityImpact": "NONE",
            "userInteraction": "NONE",
            "valueDensity": "CONCENTRATED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:U/S:N/AU:Y/R:A/V:C/RE:L/U:Amber",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "NONE",
            "vulnerabilityResponseEffort": "LOW"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-394",
              "description": "CWE-394: Unexpected Status Code or Return Value",
              "lang": "en",
              "type": "CWE"
            }
          ]
        },
        {
          "descriptions": [
            {
              "cweId": "CWE-252",
              "description": "CWE-252: Unchecked Return Value",
              "lang": "en",
              "type": "CWE"
            }
          ]
        },
        {
          "descriptions": [
            {
              "cweId": "CWE-325",
              "description": "CWE-325: Missing Cryptographic Step",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-09T13:15:57.779Z",
        "orgId": "d0a6edd6-4b7d-45f2-a6f9-9b944f7b6132",
        "shortName": "sirius"
      },
      "references": [
        {
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://sirius.computer/security-disclosure-policy/"
        }
      ],
      "solutions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003eUpgrade to Crux Agent 2.0.3 or later, which truncates the SKA key to the 32 bytes WireGuard requires. As a workaround, remove any custom settings for \"Hash Function\" in the agent\u0027s configuration (so as to use the default SHA-256 hash function).\u003c/p\u003e"
            }
          ],
          "value": "Upgrade to Crux Agent 2.0.3 or later, which truncates the SKA key to the 32 bytes WireGuard requires. As a workaround, remove any custom settings for \"Hash Function\" in the agent\u0027s configuration (so as to use the default SHA-256 hash function)."
        }
      ],
      "source": {
        "discovery": "UNKNOWN"
      },
      "title": "Crux Agent silently fails SKA preshared key rotation when SHA-512 peering is negotiated",
      "x_generator": {
        "engine": "Vulnogram 1.0.5"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "d0a6edd6-4b7d-45f2-a6f9-9b944f7b6132",
    "assignerShortName": "sirius",
    "cveId": "CVE-2026-107785",
    "datePublished": "2026-10-09T13:15:57.779Z",
    "dateReserved": "2026-10-08T20:13:33.223Z",
    "dateUpdated": "2026-10-09T16:46:40.880Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-107785\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-10-09T16:15:28.101092Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-10-09T16:15:28.708Z\"}}], \"cna\": {\"title\": \"Crux Agent silently fails SKA preshared key rotation when SHA-512 peering is negotiated\", \"source\": {\"discovery\": \"UNKNOWN\"}, \"impacts\": [{\"capecId\": \"CAPEC-97\", \"descriptions\": [{\"lang\": \"en\", \"value\": \"CAPEC-97: Cryptanalysis\"}]}], \"metrics\": [{\"format\": \"CVSS\", \"cvssV4_0\": {\"Safety\": \"NEGLIGIBLE\", \"version\": \"4.0\", \"Recovery\": \"AUTOMATIC\", \"baseScore\": 6.3, \"Automatable\": \"YES\", \"attackVector\": \"NETWORK\", \"baseSeverity\": \"MEDIUM\", \"valueDensity\": \"CONCENTRATED\", \"vectorString\": \"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:U/S:N/AU:Y/R:A/V:C/RE:L/U:Amber\", \"exploitMaturity\": \"UNREPORTED\", \"providerUrgency\": \"AMBER\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"HIGH\", \"attackRequirements\": \"PRESENT\", \"privilegesRequired\": \"NONE\", \"subIntegrityImpact\": \"NONE\", \"vulnIntegrityImpact\": \"NONE\", \"subAvailabilityImpact\": \"NONE\", \"vulnAvailabilityImpact\": \"NONE\", \"subConfidentialityImpact\": \"HIGH\", \"vulnConfidentialityImpact\": \"HIGH\", \"vulnerabilityResponseEffort\": \"LOW\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}]}], \"affected\": [{\"vendor\": \"Sirius Computer, Inc.\", \"product\": \"Crux Agent\", \"versions\": [{\"status\": \"affected\", \"version\": \"1.9.0\", \"lessThan\": \"2.0.3\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}], \"solutions\": [{\"lang\": \"en\", \"value\": \"Upgrade to Crux Agent 2.0.3 or later, which truncates the SKA key to the 32 bytes WireGuard requires. As a workaround, remove any custom settings for \\\"Hash Function\\\" in the agent\u0027s configuration (so as to use the default SHA-256 hash function).\", \"supportingMedia\": [{\"type\": \"text/html\", \"value\": \"\u003cp\u003eUpgrade to Crux Agent 2.0.3 or later, which truncates the SKA key to the 32 bytes WireGuard requires. As a workaround, remove any custom settings for \\\"Hash Function\\\" in the agent\u0027s configuration (so as to use the default SHA-256 hash function).\u003c/p\u003e\", \"base64\": false}]}], \"references\": [{\"url\": \"https://sirius.computer/security-disclosure-policy/\", \"tags\": [\"vendor-advisory\"]}], \"x_generator\": {\"engine\": \"Vulnogram 1.0.5\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"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.\\n\\n\\n\\nFor 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\u0027s traffic, and has access (or will have access) to a cryptographically relevant quantum computer, will be able to decrypt the tunnel.\", \"supportingMedia\": [{\"type\": \"text/html\", \"value\": \"\u003cp\u003eCrux 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.\u003c/p\u003e\u003cp\u003eFor 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\u0027s traffic, and has access (or will have access) to a cryptographically relevant quantum computer, will be able to decrypt the tunnel.\u003c/p\u003e\", \"base64\": false}]}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-394\", \"description\": \"CWE-394: Unexpected Status Code or Return Value\"}]}, {\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-252\", \"description\": \"CWE-252: Unchecked Return Value\"}]}, {\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-325\", \"description\": \"CWE-325: Missing Cryptographic Step\"}]}], \"providerMetadata\": {\"orgId\": \"d0a6edd6-4b7d-45f2-a6f9-9b944f7b6132\", \"shortName\": \"sirius\", \"dateUpdated\": \"2026-10-09T13:15:57.779Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2026-107785\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-10-09T16:46:40.880Z\", \"dateReserved\": \"2026-10-08T20:13:33.223Z\", \"assignerOrgId\": \"d0a6edd6-4b7d-45f2-a6f9-9b944f7b6132\", \"datePublished\": \"2026-10-09T13:15:57.779Z\", \"assignerShortName\": \"sirius\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…