← Back to CVE Explorer

CVE-2026-12593

Full vulnerability record from the local CVENow database.

Description

The implementation of an internal and undocumented Dashboard API endpoint (POST /api/users/~/{user}/tokens) forgot to ensure an HTTP request for creating an API Token for another user had sufficient permission to do so. Precondition for successful exploitation was a preexisting internal user (with more privileges than the attacker), the attacker knowing its login name and the attacker being able to authenticate to the Dashboard via OAuth/OIDC. The attacker would then have had to forge a token creation API request on behalf of the other user and could have authenticated and finalized the token creation with their own OAuth/OIDC credentials. In the worst case, this would mean an attacker could have become Dashboard Administrator and been able to perform all administrative actions if the preexisting internal user had administrative privileges. In combination with a separate weakness, this could have further led to code execution on the host system running the Dashboard with the privileges of the OS-User running the Dashboard server.

Severity
HIGH
CVSS score
8.7 (v4.0)
Vulnerability status
Deferred
Source identifier
a59d8014-47c4-4630-ab43-e1b13cbe58e3
Published
2026-07-09 14:16:26.713000
Last modified
2026-10-25 17:10:00.197000
View original CVE JSON
{
  "id": "CVE-2026-12593",
  "sourceIdentifier": "a59d8014-47c4-4630-ab43-e1b13cbe58e3",
  "published": "2026-07-09T14:16:26.713",
  "lastModified": "2026-10-25T17:10:00.197",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "The implementation of an internal and undocumented Dashboard API endpoint (POST /api/users/~/{user}/tokens) forgot to ensure an HTTP request for creating an API Token for another user had sufficient permission to do so.\n\n\n\n\n\nPrecondition for successful exploitation was a preexisting internal user (with more privileges than the attacker), the attacker knowing its login name and the attacker being able to authenticate to the Dashboard via OAuth/OIDC. The attacker would then have had to forge a token creation API request on behalf of the other user and could have authenticated and finalized the token creation with their own OAuth/OIDC credentials. In the worst case, this would mean an attacker could have become Dashboard Administrator and been able to perform all administrative actions if the preexisting internal user had administrative privileges. In combination with a separate weakness, this could have further led to code execution on the host system running the Dashboard with the privileges of the OS-User running the Dashboard server."
    },
    {
      "lang": "es",
      "value": "La implementación de un endpoint de API de Dashboard interno y no documentado (POST /api/users/~/{user}/tokens) olvidó asegurar que una solicitud HTTP para crear un token de API para otro usuario tuviera permisos suficientes para hacerlo.\n\nLa condición previa para una explotación exitosa era un usuario interno preexistente (con más privilegios que el atacante), que el atacante conociera su nombre de inicio de sesión y que el atacante pudiera autenticarse en el Dashboard a través de OAuth/OIDC. El atacante entonces habría tenido que falsificar una solicitud de API de creación de token en nombre del otro usuario y podría haberse autenticado y finalizado la creación del token con sus propias credenciales de OAuth/OIDC. En el peor de los casos, esto significaría que un atacante podría haberse convertido en Administrador del Dashboard y haber podido realizar todas las acciones administrativas si el usuario interno preexistente tenía privilegios administrativos. En combinación con una debilidad separada, esto podría haber llevado además a la ejecución de código en el sistema host que ejecuta el Dashboard con los privilegios del usuario del sistema operativo (OS-User) que ejecuta el servidor del Dashboard."
    }
  ],
  "affected": [
    {
      "source": "a59d8014-47c4-4630-ab43-e1b13cbe58e3",
      "affectedData": [
        {
          "vendor": "Qt",
          "product": "Axivion",
          "defaultStatus": "unaffected",
          "modules": [
            "Dashboard OIDC/OAuth2/SSO subsystem"
          ],
          "versions": [
            {
              "version": "7.8.5",
              "lessThanOrEqual": "7.8.12",
              "versionType": "custom",
              "status": "affected"
            },
            {
              "version": "7.9.0",
              "lessThan": "7.9.13",
              "versionType": "custom",
              "status": "affected"
            },
            {
              "version": "7.10.0",
              "lessThan": "7.10.11",
              "versionType": "custom",
              "status": "affected"
            },
            {
              "version": "7.11.0",
              "lessThan": "7.11.7",
              "versionType": "custom",
              "status": "affected"
            },
            {
              "version": "7.12.0",
              "lessThan": "7.12.2",
              "versionType": "custom",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV40": [
      {
        "source": "a59d8014-47c4-4630-ab43-e1b13cbe58e3",
        "type": "Secondary",
        "cvssData": {
          "version": "4.0",
          "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
          "baseScore": 8.7,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "attackRequirements": "NONE",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "vulnConfidentialityImpact": "HIGH",
          "vulnIntegrityImpact": "HIGH",
          "vulnAvailabilityImpact": "HIGH",
          "subConfidentialityImpact": "LOW",
          "subIntegrityImpact": "LOW",
          "subAvailabilityImpact": "LOW",
          "exploitMaturity": "NOT_DEFINED",
          "confidentialityRequirement": "NOT_DEFINED",
          "integrityRequirement": "NOT_DEFINED",
          "availabilityRequirement": "NOT_DEFINED",
          "modifiedAttackVector": "NOT_DEFINED",
          "modifiedAttackComplexity": "NOT_DEFINED",
          "modifiedAttackRequirements": "NOT_DEFINED",
          "modifiedPrivilegesRequired": "NOT_DEFINED",
          "modifiedUserInteraction": "NOT_DEFINED",
          "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
          "modifiedVulnIntegrityImpact": "NOT_DEFINED",
          "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
          "modifiedSubConfidentialityImpact": "NOT_DEFINED",
          "modifiedSubIntegrityImpact": "NOT_DEFINED",
          "modifiedSubAvailabilityImpact": "NOT_DEFINED",
          "Safety": "NOT_DEFINED",
          "Automatable": "NOT_DEFINED",
          "Recovery": "NOT_DEFINED",
          "valueDensity": "NOT_DEFINED",
          "vulnerabilityResponseEffort": "NOT_DEFINED",
          "providerUrgency": "NOT_DEFINED"
        }
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-07-09T14:20:08.451329Z",
          "id": "CVE-2026-12593",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "a59d8014-47c4-4630-ab43-e1b13cbe58e3",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-862"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://wiki.qt.io/List_of_known_vulnerabilities_in_Qt_products#CVE-2026-12593",
      "source": "a59d8014-47c4-4630-ab43-e1b13cbe58e3"
    }
  ]
}