{"metadata": {"vulnerability": "cve-2026-45773", "count": 20, "kinds": {"milestone": 8, "sighting": 2, "kev": 0, "other": 10}}, "data": [{"timestamp": "2026-05-13T07:45:21.251Z", "date_only": false, "value": "2026-05-13T07:45:21.251Z", "kind": "milestone", "label": "Reserved", "source": "cvelistv5", "record": "cve-2026-45773", "field": "cveMetadata.dateReserved"}, {"timestamp": "2026-05-15T15:51:38.066Z", "date_only": false, "value": "2026-05-15T15:51:38.066Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "cve-2026-45773", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-05-15T15:51:38.066Z", "date_only": false, "value": "2026-05-15T15:51:38.066Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / GitHub_M", "record": "cve-2026-45773", "field": "containers.cna.providerMetadata.dateUpdated"}, {"timestamp": "2026-05-15T16:16:15Z", "date_only": false, "value": "2026-05-15T16:16:15Z", "kind": "other", "label": "Nvd published at", "source": "github \u00b7 GHSA-HCF7-66RW-9F5R", "record": "GHSA-HCF7-66RW-9F5R", "field": "database_specific.nvd_published_at"}, {"timestamp": "2026-05-15T16:16:15.137Z", "date_only": false, "value": "2026-05-15T16:16:15.137", "kind": "milestone", "label": "Published", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-45773", "record": "FKIE_CVE-2026-45773", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-05-15T16:44:57.841Z", "date_only": false, "value": "2026-05-15T16:44:57.841414Z", "kind": "other", "label": "Recorded", "source": "cvelistv5 / CISA-ADP", "record": "cve-2026-45773", "field": "containers.adp.0.metrics.0.other.content.timestamp"}, {"timestamp": "2026-05-15T16:44:57.841Z", "date_only": false, "value": "2026-05-15T16:44:57.841414Z", "kind": "other", "label": "Recorded", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-45773", "record": "FKIE_CVE-2026-45773", "field": "metrics.ssvcV203.0.ssvcData.timestamp"}, {"timestamp": "2026-05-15T16:45:06.076Z", "date_only": false, "value": "2026-05-15T16:45:06.076Z", "kind": "other", "label": "Updated", "source": "cvelistv5", "record": "cve-2026-45773", "field": "cveMetadata.dateUpdated"}, {"timestamp": "2026-05-15T16:45:06.076Z", "date_only": false, "value": "2026-05-15T16:45:06.076Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / CISA-ADP", "record": "cve-2026-45773", "field": "containers.adp.0.providerMetadata.dateUpdated"}, {"timestamp": "2026-05-15T17:51:48.608Z", "date_only": false, "value": "2026-05-15T17:51:48.608485Z", "kind": "sighting", "label": "Seen", "source": "https://bsky.app/profile/cve.skyfleet.blue/post/3mlvviynmah2o", "record": "CVE-2026-45773", "field": "creation_timestamp", "uuid": "b854d742-9610-485c-bce3-69ffa4cafe06", "content": "CVE-2026-45773 - Turborepo: Login callback CSRF/session fixation\nCVE ID : CVE-2026-45773\n \n Published : May 15, 2026, 3:51 p.m. | 16\u00a0minutes ago\n \n Description : Turborepo is a high-performance build system for JavaScript and TypeScript codebases. Prior to 2.9.14, Turborepo's ...", "url": "https://bsky.app/profile/cve.skyfleet.blue/post/3mlvviynmah2o"}, {"timestamp": "2026-05-19T19:49:52Z", "date_only": false, "value": "2026-05-19T19:49:52Z", "kind": "milestone", "label": "Published", "source": "github \u00b7 GHSA-HCF7-66RW-9F5R", "record": "GHSA-HCF7-66RW-9F5R", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-05-19T20:10:50Z", "date_only": false, "value": "2026-05-19T20:10:50.000000Z", "kind": "sighting", "label": "Seen", "source": "https://gist.github.com/alon710/e381dedd3ac6c2888e1321e911d4bec9", "record": "CVE-2026-45773", "field": "creation_timestamp", "uuid": "d9f3ed2c-8d02-4600-a9d4-64cf473798e4", "content": "# CVE-2026-45773: CVE-2026-45773: Cross-Site Request Forgery and Session Fixation in Turborepo CLI\n\n&gt; **CVSS Score:** 6.5\n&gt; **Published:** 2026-05-19\n&gt; **Full Report:** https://cvereports.com/reports/CVE-2026-45773\n\n## Summary\nVercel Turborepo CLI versions prior to 2.9.14 are vulnerable to Cross-Site Request Forgery (CSRF) and Session Fixation during self-hosted remote cache authentication. The local callback server fails to validate the OAuth2 state parameter, allowing malicious websites to inject attacker-controlled tokens and compromise build environments.\n\n## TL;DR\nTurborepo CLI &lt; 2.9.14 lacks state validation in its local authentication callback, enabling attackers to bind a developer's session to an attacker-controlled account via a drive-by request to localhost.\n\n## Exploit Status: POC\n\n## Technical Details\n\n- **CWE ID**: CWE-352, CWE-384\n- **Attack Vector**: Network (Loopback)\n- **CVSS**: 6.5\n- **EPSS**: 0.00023\n- **Exploit Status**: Proof of Concept\n- **KEV Status**: Not Listed\n\n## Affected Systems\n\n- Turborepo CLI (Self-Hosted Remote Cache Configurations)\n- **Turborepo**: &lt; 2.9.14 (Fixed in: `2.9.14`)\n\n## Mitigation\n\n- Upgrade Turborepo CLI to version 2.9.14 or later.\n- Execute 'turbo logout' to clear potentially compromised session tokens.\n- Enforce strict state validation and PKCE on the self-hosted identity provider.\n\n**Remediation Steps:**\n1. Identify installed Turborepo versions using 'turbo --version'.\n2. Run 'npm install -g turbo@latest' or equivalent to update the CLI.\n3. Run 'turbo logout' to invalidate existing configurations.\n4. Re-authenticate using 'turbo login' with the patched binary.\n\n## References\n\n- [Vendor Advisory (GHSA)](https://github.com/vercel/turborepo/security/advisories/GHSA-hcf7-66rw-9f5r)\n- [NVD Record](https://nvd.nist.gov/vuln/detail/CVE-2026-45773)\n- [Sonatype Vulnerability Guide](https://guide.sonatype.com/vulnerabilities)\n\n\n---\n*Generated by [CVEReports](https://cvereports.com/reports/CVE-2026-45773) - Automated Vulnerability Intelligence*", "url": "https://gist.github.com/alon710/e381dedd3ac6c2888e1321e911d4bec9"}, {"timestamp": "2026-06-29T15:30:55Z", "date_only": false, "value": "2026-06-29T15:30:55Z", "kind": "other", "label": "Updated", "source": "github \u00b7 GHSA-HCF7-66RW-9F5R", "record": "GHSA-HCF7-66RW-9F5R", "field": "modified"}, {"timestamp": "2026-09-07T00:00:00Z", "date_only": true, "value": "2026-09-07", "kind": "milestone", "label": "Published", "source": "certfr_avis \u00b7 CERTFR-2026-AVI-1165", "record": "CERTFR-2026-AVI-1165", "field": "vendor_advisories.6.published_at"}, {"timestamp": "2026-09-09T00:00:00Z", "date_only": true, "value": "2026-09-09", "kind": "milestone", "label": "Published", "source": "certfr_avis \u00b7 CERTFR-2026-AVI-1165", "record": "CERTFR-2026-AVI-1165", "field": "vendor_advisories.0.published_at"}, {"timestamp": "2026-09-10T00:00:00Z", "date_only": true, "value": "2026-09-10", "kind": "milestone", "label": "Published", "source": "certfr_avis \u00b7 CERTFR-2026-AVI-1165", "record": "CERTFR-2026-AVI-1165", "field": "vendor_advisories.2.published_at"}, {"timestamp": "2026-09-11T00:00:00Z", "date_only": false, "value": "2026-09-11T00:00:00", "kind": "other", "label": "Last revision date", "source": "certfr_avis \u00b7 CERTFR-2026-AVI-1165", "record": "CERTFR-2026-AVI-1165", "field": "last_revision_date"}, {"timestamp": "2026-09-11T00:00:00Z", "date_only": true, "value": "2026-09-11", "kind": "milestone", "label": "Published", "source": "certfr_avis \u00b7 CERTFR-2026-AVI-1165", "record": "CERTFR-2026-AVI-1165", "field": "initial_release_date", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-09-11T00:00:00Z", "date_only": false, "value": "2026-09-11T00:00:00.000000", "kind": "other", "label": "Revision date", "source": "certfr_avis \u00b7 CERTFR-2026-AVI-1165", "record": "CERTFR-2026-AVI-1165", "field": "revisions.0.revision_date"}, {"timestamp": "2026-10-26T14:10:00.130Z", "date_only": false, "value": "2026-10-26T14:10:00.130", "kind": "other", "label": "Updated", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-45773", "record": "FKIE_CVE-2026-45773", "field": "lastModified"}], "metrics": {"as_of": "2026-10-31T09:04:24.610Z", "anchors": {"origin": {"timestamp": "2026-05-15T15:51:38.066Z", "date_only": false, "value": "2026-05-15T15:51:38.066Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "cve-2026-45773", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "discovery": null, "report": null, "acknowledgement": null, "disclosure": {"timestamp": "2026-05-15T15:51:38.066Z", "date_only": false, "value": "2026-05-15T15:51:38.066Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "cve-2026-45773", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "exploit_publication": null, "exploitation": null, "patch": null}, "vendor_response_time": {"available": false, "missing": ["start", "end"]}, "time_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit_publication": {"available": false, "missing": ["end"]}, "time_to_patch": {"available": false, "missing": ["start", "end"]}, "total_time_to_patch": {"available": false, "missing": ["start", "end"]}, "disclosure_to_patch": {"available": false, "missing": ["end"]}, "time_unpatched": {"available": true, "seconds": 14577166.544189, "hours": 4049.2129289413892, "days": 168.71720537255788, "min_seconds": 14577166.544189, "max_seconds": 14577166.544189, "approximate": false, "ongoing": true, "order_known": true, "batch_listing": false, "end_before_start": false, "start": {"timestamp": "2026-05-15T15:51:38.066Z", "date_only": false, "value": "2026-05-15T15:51:38.066Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "cve-2026-45773", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "end": {"timestamp": "2026-10-31T09:04:24.610Z", "date_only": false, "label": "As of", "source": "Calculation clock"}}, "exploitation_to_patch": {"available": false, "missing": ["start"]}, "exploit_publication_to_patch": {"available": false, "missing": ["start"]}}}
