Skip to main content

Xerj Console API authentication bypass allows successor token creation

15th article in the last 90 days, one of 80 articles referencing GitHub. Previous coverage: Netskope details four AI security blindspots controls miss (Oct 2026).

Companies mentioned

Best suited for

Seniority
Analyst
Job function
Cybersecurity / Security Analyst
Persona
Security Operations Leader
Buyer role
Technical Implementer / Administrator
Decision stage
How to start
Adoption curve
Early Adopters
Technology maturity
Emerging Exploration
Industry
Information Technology / Cybersecurity / Identity Security / Identity & Access Management (Workforce IAM/SSO/MFA)

Our classification, not the publisher's statement. Best suited for, not only for.

The Xerj Console API contains an authentication bypass that allows sessions to skip passkey-backed requirements during token issuance. Xerj is an open-source search and indexing engine built for AI agents on the Elasticsearch API, and this flaw can be used to create persistent successor credentials.

The vulnerability is tracked as CVE-2026-97406. According to the documented security contract, issuing new API tokens must be strictly authorized by a passkey-backed session. The Xerj implementation, however, converts both standard browser sessions and API bearer tokens into the same generic AuthSession object, and the token creation handler accepts that generalized principal without checking whether it was authenticated with a passkey.

An attacker who obtains or intercepts a valid Xerj API token can directly call the token creation endpoint and create independent successor credentials carrying the same access levels as the original token. The platform also lacks hierarchical revocation logic, so revoking a compromised parent token has no effect on descendant tokens spawned from it.

Exploitation enables persistent, unauthorized access that completely bypasses multi-factor controls. If the compromised token belongs to a Xerj account owner, the successor token retains full administrative authority. The attacker can use that access to issue a new account invitation, redeem it in their own browser, and enroll an independent, attacker-controlled passkey, which grants permanent control over the Xerj instance and its sensitive data indices. Revoking the initial token is rendered ineffective in this scenario.

The vendor could not be reached to coordinate this vulnerability, and an official patch had not been made available at the time of writing. Users are advised to monitor the project's GitHub repository for updates and to install the latest version of the library once a fix has been released.

The reporter, Shiran Guez, a Principal Application Security Architect, is credited. This document was written by Laurie Tyzenhaus.

Blog post, originally published by Laurie Tyzenhaus at kb.cert.org.

Structured data (JSON-LD)

The schema.org markup this page publishes for search engines and AI agents, exactly as they read it.

[
  {
    "@context": "https://schema.org",
    "@id": "https://decisioninsights.ai/#website",
    "@type": "WebSite",
    "name": "Decision Insights",
    "potentialAction": {
      "@type": "SearchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://decisioninsights.ai/search/?q={search_term_string}&submit=1"
      }
    },
    "publisher": {
      "@id": "https://decisioninsights.ai/#organization"
    },
    "url": "https://decisioninsights.ai"
  },
  {
    "@context": "https://schema.org",
    "@id": "https://decisioninsights.ai/#organization",
    "@type": "Organization",
    "contactPoint": {
      "@type": "ContactPoint",
      "contactType": "customer support",
      "email": "[email protected]"
    },
    "description": "Decision Insights is a Registry of technology companies, open source projects, and industry terms, built for people and for AI agents that need sourced, structured information.",
    "legalName": "Wiretap Labs, LLC",
    "logo": {
      "@type": "ImageObject",
      "url": "https://wiretap-cdn-assets.nyc3.cdn.digitaloceanspaces.com/decision-insights/[email protected]"
    },
    "name": "Decision Insights",
    "parentOrganization": {
      "@type": "Organization",
      "name": "Wiretap Labs",
      "sameAs": [
        "https://www.linkedin.com/company/wiretap-labs",
        "https://www.crunchbase.com/organization/wiretap-labs"
      ],
      "url": "https://wiretaplabs.com"
    },
    "publishingPrinciples": "https://decisioninsights.ai/standards/",
    "sameAs": [
      "https://www.linkedin.com/company/decisioninsights"
    ],
    "url": "https://decisioninsights.ai"
  },
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "item": "https://decisioninsights.ai",
        "name": "Decision Insights",
        "position": 1
      },
      {
        "@type": "ListItem",
        "item": "https://decisioninsights.ai/records/",
        "name": "Records",
        "position": 2
      },
      {
        "@type": "ListItem",
        "item": "https://decisioninsights.ai/xerj-console-api-authentication-bypass-allows-successor-token-creation/",
        "name": "Xerj Console API authentication bypass allows successor token creation",
        "position": 3
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@id": "https://decisioninsights.ai/xerj-console-api-authentication-bypass-allows-successor-token-creation/#blogposting",
    "@type": "BlogPosting",
    "about": {
      "@id": "https://decisioninsights.ai/registry/microsoft/github/#organization",
      "@type": "Organization",
      "mainEntityOfPage": "https://decisioninsights.ai/registry/microsoft/github/",
      "name": "GitHub"
    },
    "audience": [
      {
        "@type": "Audience",
        "additionalType": "Seniority",
        "audienceType": "Analyst"
      },
      {
        "@type": "Audience",
        "additionalType": "Job function",
        "audienceType": "Cybersecurity / Security Analyst"
      },
      {
        "@type": "Audience",
        "additionalType": "Persona",
        "audienceType": "Security Operations Leader"
      },
      {
        "@type": "Audience",
        "additionalType": "Buyer role",
        "audienceType": "Technical Implementer / Administrator"
      },
      {
        "@type": "Audience",
        "additionalType": "Adoption curve",
        "audienceType": "Early Adopters"
      },
      {
        "@type": "Audience",
        "additionalType": "Technology maturity",
        "audienceType": "Emerging Exploration"
      },
      {
        "@type": "Audience",
        "additionalType": "Industry",
        "audienceType": "Information Technology / Cybersecurity / Identity Security / Identity & Access Management (Workforce IAM/SSO/MFA)"
      }
    ],
    "author": {
      "@id": "https://decisioninsights.ai/author/decision-insights-threat-desk/#person",
      "@type": "Person",
      "name": "Decision Insights Threat Desk",
      "url": "https://decisioninsights.ai/author/decision-insights-threat-desk/"
    },
    "dateModified": "2026-10-20T14:45:09-06:00",
    "datePublished": "2026-10-20T14:45:03-06:00",
    "description": "CVE-2026-97406 lets attackers with a valid Xerj API token bypass passkey requirements and create persistent credentials, and no vendor patch is yet available.",
    "headline": "Xerj Console API authentication bypass allows successor token creation",
    "isBasedOn": {
      "@type": "CreativeWork",
      "author": {
        "@type": "Person",
        "name": "Laurie Tyzenhaus"
      },
      "sourceOrganization": {
        "@id": "https://decisioninsights.ai/registry/department-of-homeland-security/#organization",
        "@type": "Organization",
        "mainEntityOfPage": "https://decisioninsights.ai/registry/department-of-homeland-security/",
        "name": "Department of Homeland Security"
      },
      "url": "https://kb.cert.org/vuls/id/645818"
    },
    "keywords": [
      "Authentication",
      "Test Access Points",
      "Tokens",
      "Vulnerabilities"
    ],
    "mainEntityOfPage": {
      "@id": "https://decisioninsights.ai/xerj-console-api-authentication-bypass-allows-successor-token-creation/",
      "@type": "WebPage",
      "sdDatePublished": "2026-10-20",
      "sdPublisher": {
        "@id": "https://decisioninsights.ai/#organization"
      }
    },
    "mentions": [
      {
        "@id": "https://decisioninsights.ai/registry/microsoft/github/#organization",
        "@type": "Organization",
        "mainEntityOfPage": "https://decisioninsights.ai/registry/microsoft/github/",
        "name": "GitHub"
      },
      {
        "@id": "https://decisioninsights.ai/projects/elasticsearch/#project",
        "@type": "SoftwareSourceCode",
        "mainEntityOfPage": "https://decisioninsights.ai/projects/elasticsearch/",
        "name": "Elasticsearch"
      }
    ],
    "publisher": {
      "@id": "https://decisioninsights.ai/#organization"
    }
  },
  {
    "@context": "https://schema.org",
    "@id": "https://decisioninsights.ai/author/decision-insights-threat-desk/#person",
    "@type": "Person",
    "description": "CISA advisories, vendor security bulletins, and CVE disclosures, summarized into sourced briefs. Produced under our Standards & Methodology.",
    "name": "Decision Insights Threat Desk",
    "sameAs": [
      "https://www.linkedin.com/showcase/decisioninsights/"
    ],
    "url": "https://decisioninsights.ai/author/decision-insights-threat-desk/"
  }
]

Is this your company? Get structured data for your own pages