← Back to CVE Explorer

CVE-2026-49229

Full vulnerability record from the local CVENow database.

Description

Actual is a local-first personal finance app. Prior to 26.6.0, in OpenID multi-user mode, disabling a user only blocks future OpenID login for that identity, while existing Actual session tokens for the disabled user remain valid. The shared session validation path accepts any existing token row that has not expired without checking whether the associated user is still enabled, allowing a disabled user to continue calling authenticated server endpoints. This issue is fixed in version 26.6.0.

Severity
HIGH
CVSS score
8.3 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-07-07 22:16:52.780000
Last modified
2026-10-25 20:10:00.147000
View original CVE JSON
{
  "id": "CVE-2026-49229",
  "sourceIdentifier": "[email protected]",
  "published": "2026-07-07T22:16:52.780",
  "lastModified": "2026-10-25T20:10:00.147",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Actual is a local-first personal finance app. Prior to 26.6.0, in OpenID multi-user mode, disabling a user only blocks future OpenID login for that identity, while existing Actual session tokens for the disabled user remain valid. The shared session validation path accepts any existing token row that has not expired without checking whether the associated user is still enabled, allowing a disabled user to continue calling authenticated server endpoints. This issue is fixed in version 26.6.0."
    },
    {
      "lang": "es",
      "value": "Actual es una aplicación de finanzas personales local-first. Antes de la versión 26.6.0, en modo multiusuario OpenID, deshabilitar a un usuario solo bloquea futuros inicios de sesión OpenID para esa identidad, mientras que los tokens de sesión de Actual existentes para el usuario deshabilitado permanecen válidos. La ruta de validación de sesión compartida acepta cualquier fila de token existente que no ha expirado sin verificar si el usuario asociado todavía está habilitado, permitiendo que un usuario deshabilitado continúe llamando a puntos finales de servidor autenticados. Este problema está solucionado en la versión 26.6.0."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "actualbudget",
          "product": "actual",
          "versions": [
            {
              "version": "< 26.6.0",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L",
          "baseScore": 8.3,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "LOW"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 5.5
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-07-09T03:55:44.914451Z",
          "id": "CVE-2026-49229",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-613"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/actualbudget/actual/commit/c8cb8a223a4faf1c2e1dcb0795a79a93f7b19e80",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/actualbudget/actual/releases/tag/v26.6.0",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/actualbudget/actual/security/advisories/GHSA-cq9c-6w48-qmfg",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/actualbudget/actual/security/advisories/GHSA-cq9c-6w48-qmfg",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
    }
  ]
}