Alta

stigmem-node: decay sweep expires and counts facts across all tenants (cross-tenant BOLA)

  • Publicada: 19.06.2026
  • Actualizado: 11.10.2026 14:19

Summary

On a multi-tenant stigmem node, a caller holding a write credential for one tenant can run a decay sweep that acts on every tenant's facts. The candidate-selection queries in lifecycle/decay.py (_select_ttl_candidates, _select_confidence_candidates) carried no tenant_id predicate, and the caller's tenant was not threaded into the sweep or its async worker (run_decay_sweep / _decay_job_worker), reached via POST /v1/decay/sweep.

Impact

A sweep with ttl_seconds=0 expires all tenants' facts — cross-tenant data destruction (integrity and availability). A dry_run sweep returns a global candidate count, acting as a cross-tenant existence/volume oracle (information disclosure).

Affected configurations

This is a cross-tenant break. It is exploitable only on deployments running the opt-in stigmem-plugin-multi-tenant (multiple tenants on one node). A default single-tenant node has only tenant="default" — there is no second tenant to cross — so it is not exploitable on default deployments. The rating is HIGH for the multi-tenant deployments the plugin exists to isolate.

Patches

Fixed in 0.9.0a12 (PR #728): identity.tenant_id is threaded into run_decay_sweep and _decay_job_worker, and AND tenant_id = ? was added to the candidate selectors and the graph-sync. A tenant-B sweep now leaves tenant-A facts untouched, and dry_run counts only the caller's tenant. The check_fact_query_tenant_scope.py CI guard was extended to scan lifecycle/ so this class cannot silently regress.

Workarounds

None other than upgrading to 0.9.0a12. Single-tenant deployments are unaffected.

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Python (PyPI) stigmem-node < 0.9.0a12 0.9.0a12

Referencias

Puntuación CVSS -
Vector CVSS
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:H/SC:N/SI:N/SA:N
Debilidad (CWE)
CWE-863
Plataforma
Python (PyPI)
Paquete
stigmem-node
Publicada
19.06.2026
Actualizado
11.10.2026 14:19

Fuentes y licencias

OSV / GitHub Advisory Database - GHSA-6gqw-jqv7-v88m - CC BY 4.0

Historial de vulnerabilidades: stigmem-node

Todas las vulnerabilidades publicadas de este paquete (Python (PyPI)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (10) en el archivo
Entradas en total
10
Primera → última
05.2026 08.2026
Sin corrección
0
Explotada en ataques
0

Distribución por gravedad

  • Crítica 3
  • Alta 6
  • Media 1

Divulgaciones por año

  1. 2026: 10
Gravedad:
  1. stigmem-node: decay sweep expires and counts facts across all tenants (cross-tenant BOLA) esta entrada
    Alta CVE-2026-76238 < 0.9.0a12 0.9.0a12

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.