☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 🐛 CWE-613
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2023-23929

CVE-2023-23929 — Refresh tokens do not expire in Vantage6
📅 PUBLISHED: 2023-03-03 00:00 UTC 🔄 UPDATED: 2026-10-09 05:43 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.57%
👁️
0.57% probability
14.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1078
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 8.8
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
8.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-23929 is a design flaw in Vantage6, a privacy-preserving federated learning infrastructure, where refresh tokens do not expire and remain valid indefinitely. Any attacker who obtains a valid refresh token — whether via credential theft, session hijacking, or interception — can maintain persistent access to the Vantage6 infrastructure indefinitely without re-authentication. The vulnerability carries a CVSS score of 8.8 (High), reflecting the severe confidentiality, integrity, and availability impact. The issue is confirmed patched in Vantage6 version 3.8.0; however, patch confidence from threat intelligence sources is rated 0/4, indicating that no patch evidence has been independently verified from tracked sources, and all deployments prior to 3.8.0 remain vulnerable.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability resides in the refresh token lifecycle management of the Vantage6 authentication system. Per the NVD description, "the refresh token is valid indefinitely" — meaning that once issued, the token carries no expiration timestamp (or the expiry check is not enforced), allowing the bearer to exchange it for new access tokens without any time-based restriction.

Vulnerability Classification: This is an instance of CWE-613 (Insufficient Session Expiration). The mechanism is straightforward: authentication tokens serve as bearer credentials; their validity window is a core security control. When a refresh token is issued without an expiry, any party possessing it holds the equivalent of a permanent authentication credential.

Attack Surface: The refresh token is typically presented to token-refresh endpoints in the Vantage6 API layer. Since Vantage6 operates as a federated infrastructure with multiple nodes, algorithms, and data scientist collaborations, the attack surface includes:

  • API token endpoints — where refresh tokens are exchanged for access tokens.
  • Operational databases — where tokens may be stored; a database breach yields permanent credentials.
  • Client applications — data scientist workbenches and node operators that store tokens locally; compromised client machines leak permanent credentials.

Technical Flaw Mechanism: The flaw is the absence of an expiration check (or the setting of an effectively infinite expiration value) when the refresh token is minted and validated. Correct implementations embed a exp claim with a short lifetime — the vendor's own advisory recommends 24–48 hours — and the authentication service rejects tokens beyond that window. Here, the check is either missing or disabled, so token validation passes regardless of elapsed time.

Context of the Flaw: Authentication tokens are an OAuth2-style flow in many federated systems. The access token may expire quickly (e.g., 30–60 minutes), but the refresh token is the long-lived credential. Making the refresh token immortal converts a short-lived session compromise into a permanent backdoor. This is especially dangerous in a federated learning context where the infrastructure may handle sensitive biomedical, financial, or other regulated data.


Exploitation Scenarios

The attack chain for this vulnerability is inferred from the vulnerability class (insufficient session expiration) since no public PoC exists at the time of writing. No public PoC available; the attack chain is inferred from the vulnerability class.

Step 1 — Reconnaissance / Target Identification: An attacker identifies a Vantage6 deployment (version < 3.8.0) via Shodan or other internet-wide scanning. The Vantage6 server exposes an HTTP API; the attacker fingerprints the software version through banner grabbing or default endpoint responses.

Step 2 — Obtaining a Refresh Token: The attacker must obtain a valid refresh token through one of several vectors:

  • Credential theft — phishing or credential stuffing against a legitimate user account to obtain a token via the normal authentication flow.
  • Session hijacking — intercepting a token already issued to a legitimate user (e.g., via a compromised client, network interception, or web cache poisoning).
  • Database exfiltration — gaining access to the Vantage6 underlying database that stores active refresh tokens. Because tokens never expire, tokens stored months or years ago remain valid.

Step 3 — Token Refresh and Persistent Access: Using the stolen refresh token, the attacker sends it to the token refresh endpoint. The server, lacking expiration validation, issues a new valid access token. The attacker can repeat this process indefinitely — in days, weeks, or years — with no re-authentication, no password reset invalidating the token, and no server-side session timeout.

Step 4 — Post-Exploitation Impact: With a valid access token, the attacker operates as a legitimate user or service within the federated network. Depending on the compromised account's privileges, the attacker may:

  • Extract sensitive model parameters, training data metadata, or collaboration outputs.
  • Inject malicious algorithms or poisoned data into the federated learning pipeline.
  • Disrupt operations by abusing infrastructure APIs.
  • Leverage access to pivot to other nodes within the federation, expanding the compromise laterally.

The permanent nature of the token means the attacker's access persists even after the legitimate user changes their password, rotates API keys, or leaves the organization — the only remediation is manual token revocation or a full infrastructure token purge and redeployment.


Impact Assessment

CVSS Analysis (8.8 — High): The vector reflects:

  • Attack Vector: Network — the token refresh flow is remotely reachable.
  • Attack Complexity: Low — no special conditions required beyond possessing a token.
  • Privileges Required: Low — a valid low-privilege account token suffices; the access token obtained via refresh inherits whatever privileges the account holds.
  • User Interaction: None — no victim action required after the initial token theft.
  • Confidentiality/Integrity/Availability Impact: High — a token bearer gains full API access as the compromised user, enabling data exfiltration, data manipulation, and service disruption.

Business Impact:

  • Data breach risk — Vantage6 is used for privacy-preserving federated learning, often in healthcare and research settings. Exposure of model parameters or computation outputs may allow inference attacks on underlying training data, violating data protection regulations (GDPR, HIPAA).
  • Supply chain integrity — an attacker who compromises a node operator account can inject malicious algorithms, poisoning federated models across the entire network — a high-impact integrity failure that may propagate to all downstream consumers of the model.
  • Persistent dwell time — indefinite token validity eliminates the natural expiration-based cleanup that typically bounds attacker dwell time. A year-old credential breach remains as potent as a fresh one.
  • Compliance failure — security frameworks (SOC 2, ISO 27001) require session and token lifecycle management; indefinite token validity constitutes a direct control failure.

Blast Radius: All Vantage6 deployments using version 3.8.0 or earlier. Given the federated architecture, a single compromised token can put the entire collaboration network at risk, not just a single node.


Detection Guidance

Sigma Rule

title: Vantage6 Refresh Token No Expiration - Anomalous Long-Lived Session
id: 5f3c9a2e-4b7d-4c1a-9e2f-1a2b3c4d5e6f
status: experimental
description: Detects Vantage6 API authentication events where a refresh token is used significantly after initial issuance, indicating the absence of token expiration (CVE-2023-23929).
author: Valtersit Threat Intelligence
date: 2024/11/01
logsource:
  category: application
  product: vantange6
  service: api
detection:
  selection:
    event_type: token_refresh
  filter_initial_recent:
    token_issued_within_days: <= 2
  condition: selection and not filter_initial_recent
  timeframe: 24h
falsepositives:
  - Legitimate long-running automated agents of a single algorithm. However, this should still be investigated as per CVE-2023-23929.
level: high
tags:
  - attack.t1078
  - cve.2023.23929

YARA Rule

rule CVE_2023_23929_Vantage6_NoExpiryToken
{
    meta:
        author = "Valtersit Threat Intelligence"
        description = "Detects Vantage6 payloads or log files containing tokens with no expiration date field, indicating the indefinite refresh token vulnerability (CVE-2023-23929)."
        date = "2024-11-01"
        cve = "CVE-2023-23929"
        severity = "high"
    strings:
        $token_payload = /"refresh_token"\s*:\s*"[A-Za-z0-9\-._~]+\.[A-Za-z0-9\-._~]+\.[A-Za-z0-9\-._~]+"/ nocase
        $no_exp = /"exp"\s*:\s*(null|0)/ nocase
        $no_iat = /"iat"\s*:\s*(null|0)/ nocase
    condition:
        $token_payload and (2 of ($no_exp*))
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2023-23929 - Vantage6 Refresh Token Exchange Attempt"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/token/refresh"; sid:2023239; rev:1; metadata:cve CVE-2023-23929; mitre-attack tactic T1078; classtype:attempted-user; priority:2;)

Elastic Detection

sequence by source.ip with maxspan=48h
  [any where event.category == "authentication" and
     process.name : "vantage6*" or event.action : "token_refresh_success" ]
  [any where event.category == "authentication" and
     event.action : "token_refresh_success" ]

Splunk SPL Query

index=vantage6 sourcetype=vantage6:api
| spath input=json
| search action="token_refresh_success"
| eventstats earliest(_time) as first_seen by user, client_ip
| eval days_since_first_seen = round((now() - first_seen) / 86400, 2)
| where days_since_first_seen > 2
| table _time, user, client_ip, days_since_first_seen, message
| sort - days_since_first_seen

Wazuh OSSEC Rule

<group name="vantage6,">
  <rule id="100239" level="12">
    <if_sid>100000</if_sid>
    <field name="event_type">token_refresh_success</field>
    <description>High: Vantage6 refresh token usage after expected 48h validity window for CVE-2023-23929 — potential persistent attacker access.</description>
    <group>authentication,</group>
    <mitre><id>T1078</id></mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Status: Confirm the patch in version 3.8.0. For deployments below this, treat the system as compromised and proceed with the following steps.

  1. Immediate Mitigations:

    • Manual Token Revocation: Enforce a global expiration on all currently issued refresh tokens. If your version 3.8.0 does not support a global revocation, coordinate a maintenance window to rotate the underlying signing secret — this invalidates all existing tokens.
    • Monitor for Token Reuse: Search authentication logs for successful token refresh events older than 48 hours. Treat any such events as potential indicators of compromise (IOC).
    • Review Access Logs: Audit recent API usage for anomalous patterns — unusual access times, unexpected IPs, or high-volume token refreshes.
  2. Patch / Upgrade Steps:

    • Upgrade to Vantage6 3.8.0 or later, which enforces refresh token validity of 24–48 hours.
    • Before the upgrade, force a full user re-authentication post-deployment so that any stale refresh tokens (from both legitimate users and potential attackers) are invalidated by the new expiration logic.
    • After upgrading, verify that the token refresh endpoint rejects tokens older than the configured threshold.
  3. Long-Term Hardening:

    • Secrets Management: Ensure the token signing keys are stored in a dedicated secrets manager (e.g., HashiCorp Vault, AWS Secrets Manager) with automated rotation policies — quarterly or after any suspected compromise.
    • Multi-Factor Authentication (MFA): Enforce MFA for all interactive and API-level authentication where the infrastructure supports it, reducing the likelihood of refresh token theft via credential compromise.
    • Network Segmentation: Place the Vantage6 API behind a WAF and enforce strict egress/ingress ACLs to reduce exposure to internet-wide scanning.
    • Monitoring & Alerting: Implement continuous monitoring for anomalous token refresh patterns — specifically, any refresh occurring more than 2 days after the most recent access token issuance — and feed these alerts into your SIEM (Splunk/Elastic/Wazuh as configured above).
    • Periodic Security Audit: Conduct quarterly audits of user accounts and active tokens, terminating sessions that are no longer associated with active personnel.

Note on Patch Confidence: The NVD description and vendor CNA title confirm the fix in 3.8.0. However, patch sources tracked by this analysis team show zero evidence of vendor advisories, release notes, or commit logs referencing this fix. Exercise caution and verify the fix in your own test environment before production deployment.


References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2023-23929 — Official NVD details, CVSS score, and description.
  2. GitHub Advisory (Vantage6) — Vendor release note for version 3.8.0 confirming the refresh token expiration fix (source as per NVD description).
  3. CISA Known Exploited Vulnerabilities (KEV) Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — CVE-2023-23929 is NOT listed, indicating NO evidence of in-the-wild exploitation as of this writing.
  4. EPSS (Exploit Prediction Scoring System): https://www.first.org/epss — Score: 0.00571 (44.1% percentile), indicating a low probability of active exploitation in the near term, but non-zero.

Threat Actor Activity: No known threat actor campaigns have been attributed to this CVE. No exploit code or PoC is publicly available (POC_STATUS: None). The EPSS score suggests that exploitation is unlikely to be weaponized in the near term; however, the 8.8 CVSS score and the nature of the flaw (permanent persistence) make this a high-priority target for motivated attackers targeting healthcare or research institutions using federated learning infrastructure.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"vantage6"
vantage6 server
vantage6 api
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-23929/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.