{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2026-75542",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2026-75542",
    "idYear": 2026,
    "status": "PUBLISHED",
    "publishedAt": "2026-08-24T20:14:30.191Z",
    "updatedAt": "2026-08-25T19:53:26.196Z",
    "importedAt": "2026-10-24T01:58:30.346Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "OAuth token exchange grants repository scopes for organizations the principal cannot access",
      "summary": "Incorrect Authorization vulnerability in the OAuth token endpoint in hexpm hexpm allows an API key holding the repositories permission to read another organization's private packages.\n\nWhen an API key is exchanged for a token through the OAuth client_credentials grant, validate_scopes_against_key/2 in lib/hexpm_web/controllers/api/oauth_controller.ex admits a requested scope whenever the key carries the repositories permission and the scope string begins with repository:. The organization name is never resolved against the principal, and expand_repositories_scope/3 only rewrites the literal repositories scope, so an explicit repository:<name> passes through untouched. Both CDN edges authorize repository access from the token claim without querying the database, so the minted token is read access to that organization's private packages until it expires.\n\nThis issue affects hex.pm: from 2025-10-18 before 2026-08-24.",
      "affected": [
        {
          "vendor": "hexpm",
          "product": "hexpm",
          "packageName": "hex.pm",
          "collectionURL": "https://hex.pm",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "2025-10-18",
              "status": "affected",
              "versionType": "date",
              "lessThan": "2026-08-24"
            }
          ]
        },
        {
          "vendor": "hexpm",
          "product": "hexpm",
          "packageName": "hexpm/hexpm",
          "collectionURL": "https://github.com",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "71829cb6f6559bcceb1ef4e43a2fb8cdd3af654b",
              "status": "affected",
              "versionType": "git",
              "lessThan": "bf0fb9d208f0acfabf7a2f7467c8231659e322a8"
            }
          ]
        }
      ]
    }
  }
}