{
  "@id": "urn:uuid:5b9d5cfe-9a2b-4eac-9e59-93ce96a507b3",
  "role": "Document Creator",
  "author": "https://tuxcare.com",
  "version": 2,
  "@context": "https://openvex.dev/ns/v0.2.0",
  "timestamp": "2026-10-02T14:09:29.670900+00:00",
  "statements": [
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:npm/js-yaml@4.3.0-tuxcare.2",
          "identifiers": {
            "purl": "pkg:npm/js-yaml@4.3.0-tuxcare.2"
          }
        }
      ],
      "timestamp": "2026-09-28T12:23:00.108775+00:00",
      "status_notes": "Vulnerability CVE-2026-59868 does not affect version 4.3.0-tuxcare.2 of js-yaml. not_affected \u2014 CVE-2026-59868 is NOT present in js-yaml v4.3.0. The upstream vendor (Vitaly Puzrin) backported the maxTotalMergeKeys defense from v5, which prevents the O(N^2) merge-chain CPU exhaustion attack. The fix is present at lib/loader.js:155,166,384-386 and enforces a cumulative limit (default 10000) on keys processed during merge operations. This is an upstream vendor fix that TuxCare's repository i...",
      "vulnerability": {
        "name": "CVE-2026-59868"
      },
      "impact_statement": "not_affected \u2014 CVE-2026-59868 is NOT present in js-yaml v4.3.0. The upstream vendor (Vitaly Puzrin) backported the maxTotalMergeKeys defense from v5, which prevents the O(N^2) merge-chain CPU exhaustion attack. The fix is present at lib/loader.js:155,166,384-386 and enforces a cumulative limit (default 10000) on keys processed during merge operations. This is an upstream vendor fix that TuxCare's repository i..."
    },
    {
      "status": "affected",
      "products": [
        {
          "@id": "pkg:npm/js-yaml@4.3.0-tuxcare.2",
          "identifiers": {
            "purl": "pkg:npm/js-yaml@4.3.0-tuxcare.2"
          }
        }
      ],
      "timestamp": "2026-10-02T14:09:29.670900+00:00",
      "status_notes": "Vulnerability CVE-2026-59870 affects version 4.3.0-tuxcare.2 of js-yaml, and is fixed in 4.3.0-tuxcare.4.",
      "vulnerability": {
        "name": "CVE-2026-59870"
      },
      "action_statement": "Vulnerability CVE-2026-59870 affects version 4.3.0-tuxcare.2 of js-yaml, and is fixed in 4.3.0-tuxcare.4."
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:npm/js-yaml@4.3.0-tuxcare.2",
          "identifiers": {
            "purl": "pkg:npm/js-yaml@4.3.0-tuxcare.2"
          }
        }
      ],
      "timestamp": "2026-09-28T12:23:00.108775+00:00",
      "status_notes": "Vulnerability CVE-2026-73643 does not affect version 4.3.0-tuxcare.2 of js-yaml. Version 4.3.0 is NOT affected by CVE-2026-73643. The vulnerability was introduced in version 5.0.0 when js-yaml was rewritten with a new TypeScript-based event parser. Version 4.3.0 uses the older JavaScript-based parser architecture that does not exhibit the exponential re-parsing behavior. While version 4.3.0 does process nested flow sequences with key:value pairs (the Input), its parser cannot reach the Goal (exponential CPU exhaustion) because it lacks the vulnerable code path (restoreState + re-parse pattern).",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2026-73643"
      },
      "impact_statement": "Version 4.3.0 is NOT affected by CVE-2026-73643. The vulnerability was introduced in version 5.0.0 when js-yaml was rewritten with a new TypeScript-based event parser. Version 4.3.0 uses the older JavaScript-based parser architecture that does not exhibit the exponential re-parsing behavior. While version 4.3.0 does process nested flow sequences with key:value pairs (the Input), its parser cannot reach the Goal (exponential CPU exhaustion) because it lacks the vulnerable code path (restoreState + re-parse pattern)."
    },
    {
      "status": "fixed",
      "products": [
        {
          "@id": "pkg:npm/js-yaml@4.3.0-tuxcare.2",
          "identifiers": {
            "purl": "pkg:npm/js-yaml@4.3.0-tuxcare.2"
          }
        }
      ],
      "timestamp": "2026-09-28T12:23:00.108775+00:00",
      "status_notes": "Vulnerability CVE-2026-84375 is fixed in version 4.3.0-tuxcare.2 of js-yaml.",
      "vulnerability": {
        "name": "CVE-2026-84375"
      }
    },
    {
      "status": "fixed",
      "products": [
        {
          "@id": "pkg:npm/js-yaml@4.3.0-tuxcare.2",
          "identifiers": {
            "purl": "pkg:npm/js-yaml@4.3.0-tuxcare.2"
          }
        }
      ],
      "timestamp": "2026-09-28T12:23:00.108775+00:00",
      "status_notes": "Vulnerability GHSA-5p4m-2wfm-xmqj is fixed in version 4.3.0-tuxcare.2 of js-yaml.",
      "vulnerability": {
        "name": "GHSA-5p4m-2wfm-xmqj"
      }
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:npm/js-yaml@4.3.0-tuxcare.2",
          "identifiers": {
            "purl": "pkg:npm/js-yaml@4.3.0-tuxcare.2"
          }
        }
      ],
      "timestamp": "2026-09-28T12:23:00.108775+00:00",
      "status_notes": "Vulnerability GHSA-pm4m-ph32-ghv5 does not affect version 4.3.0-tuxcare.2 of js-yaml. Version 4.3.0 uses a JavaScript direct-parsing architecture that does not exhibit the exponential reparsing vulnerability. The vulnerability exists only in v5.x's TypeScript event-based parser which uses a rewind-and-reparse pattern. Testing confirms v4.3.0 completes the CVE PoC payload (n=30) in <10ms, whereas vulnerable v5.x versions would take >2 minutes. The target architecture never had the vulnerable code path.",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "GHSA-pm4m-ph32-ghv5"
      },
      "impact_statement": "Version 4.3.0 uses a JavaScript direct-parsing architecture that does not exhibit the exponential reparsing vulnerability. The vulnerability exists only in v5.x's TypeScript event-based parser which uses a rewind-and-reparse pattern. Testing confirms v4.3.0 completes the CVE PoC payload (n=30) in <10ms, whereas vulnerable v5.x versions would take >2 minutes. The target architecture never had the vulnerable code path."
    }
  ]
}
