Media

Gramps Web API: Private Sub-Object Data in Non-Private Objects Exposed to Guest Users

  • Publicada: 09.04.2026
  • Actualizado: 11.10.2026 12:19

Summary

Users with the Guest role could receive private sub-object data (e.g. private alternate names, private addresses, private note/citation/media handles) through list API endpoints such as GET /api/people/, GET /api/places/, GET /api/events/, and all other object list endpoints.

This does not expose objects (people, places, events, …) that are themselves marked private. Top-level private objects are correctly excluded from all responses. Only sub-object data attached to otherwise-public objects is affected.

Affected Versions

All versions of Gramps Web API prior to the fix.

Root Cause

The vulnerability originates from the behaviour of PrivateProxyDb.iter_*() in Gramps core. The ProxyDbBase.__iter_object() helper, which backs all iter_*() methods in PrivateProxyDb, correctly filters out top-level private objects but returns the remaining objects unsanitized — i.e. without stripping private sub-object references. In contrast, PrivateProxyDb.get_*_from_handle() does call the appropriate sanitize_*() function.

Gramps Web API's ModifiedPrivateProxyDb (which wraps the raw database for non-admin users) inherited this behaviour without override.

The same issue affects Gramps desktop features that consume iter_*() output: reports and exports generated via Gramps desktop using PrivateProxyDb may also include private sub-object data that should have been stripped.

Conditions Required

This issue only affects trees in which sub-objects have been explicitly marked private in Gramps desktop. The Gramps Web frontend UI does not expose controls for setting the private flag on sub-objects (alternate names, addresses, notes, citations, media references, event references, etc.). In practice, such flags are set in Gramps desktop and then synced or imported into Gramps Web.

Impact

When the conditions above are met, a user with the Guest role querying any list endpoint receives:

  • Full content of private embedded sub-objects on people, such as alternate names (first name, surname, etc.) and addresses (street, city, etc.).
  • Handles referencing private notes, citations, and media attached to places, events, sources, and other objects. These reveal the existence of private linked objects but not their content; fetching those objects by handle is correctly blocked by the proxy.

Fix

ModifiedPrivateProxyDb now overrides all iter_*() object methods to check obj.get_privacy() directly on the already-loaded object (eliminating the redundant per-object refetch) and to call the appropriate sanitize_*() function before yielding each object. This is consistent with the behaviour of get_*_from_handle() in PrivateProxyDb.

Software afectado

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

PlataformaPaqueteVersiones vulnerablesCorregida en
Python (PyPI) gramps-webapi < 3.11.0 3.11.0

Referencias

Puntuación CVSS -
Vector CVSS
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Debilidad (CWE)
CWE-200
Plataforma
Python (PyPI)
Paquete
gramps-webapi
Publicada
09.04.2026
Actualizado
11.10.2026 12:19

Fuentes y licencias

OSV / GitHub Advisory Database - GHSA-9gjv-jvm7-vv2v - CC BY 4.0

Historial de vulnerabilidades: gramps-webapi

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.

Entradas en total
2
Primera → última
04.2026 04.2026
Sin corrección
0
Explotada en ataques
0

Distribución por gravedad

  • Crítica 1
  • Media 1

Divulgaciones por año

  1. 2026: 2
  1. Crítica · 9.1 CVE-2026-40258 >= 1.6.0, < 3.11.1 3.11.1
  2. Gramps Web API: Private Sub-Object Data in Non-Private Objects Exposed to Guest Users esta entrada
    Media ghsa-9gjv-jvm7-vv2v < 3.11.0 3.11.0

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.