CVE-2026-55178
GeoLens is a self-hosted geospatial data catalog with semantic search, OGC and STAC APIs, and a map builder. Prior to 1.2.3, multiple read and link endpoints authorize only the resource named in the request URL and fail to re-authorize a second caller-influenced dataset reached through a relationship, map layer, VRT source, externalId lookup, or request body. When a public map references a private dataset, anonymous callers can use GET /maps/{id} and GET /maps/{id}/style.json to obtain the private layer's metadata, sampled values, or vector tiles.
Leer descripción completaMostrar menos
The style response can expose a replayable HMAC tile URL that is bound to neither a user nor a map. When a public source dataset has a relationship to a private target dataset, anonymous callers can use the dataset relationship APIs to enumerate the relationship and read rows from the private target's backing table. Anonymous callers can also use GET /collections/datasets/items with an externalId dataset UUID to obtain metadata for any private, restricted, or unpublished dataset because that lookup performs no visibility check. Authenticated users with the default editor role can mosaic another user's private raster into an owned VRT and read its pixels, and POST /ai/metadata/{summary,keywords,lineage,quality-statement} accepts a body-controlled dataset_id without a visibility check and returns private metadata and sample values. Pre-existing vrt_source_links also expose unauthorized member metadata and health unless each member is filtered at read time. These paths can disclose vector geometries and attributes, raster pixels, table rows, table names, column schemas, feature counts, extents, source URLs and filenames, contacts, and sampled row values. This issue is fixed in version 1.2.3.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Puntuación base: 7.5
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.65%
- Percentil entre todas las CVEs puntuadas: 49
- Fecha de la puntuación: 3/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
🎯 Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1190Exploit Public-Facing Applicationinitial access95 % - Impacto principal
T1005Data from Local Systemcollection95 % - Impacto secundario
T1078Valid Accountsstealth · persistence · privilege escalation · initial access75 %
AV:N/PR:N/UI:N indica exposición remota sin autenticación. Fallo de re-autorización en endpoints de API permite lectura no autorizada de datos privados (geometrías, atributos, pixels, filas, esquemas).
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-200, CWE-639, CWE-862
Referencias
- https://github.com/geolens-io/geolens/commit/01bc87da03a5ecd0322c42388f4bfced7cb2ed06
- https://github.com/geolens-io/geolens/commit/07dfb1c63ecfc065c0c47b7718ec6ebe97798b1e
- https://github.com/geolens-io/geolens/commit/2c031da8e753639ff0e36d47ca05bbb96fbe4a9e
- https://github.com/geolens-io/geolens/commit/31a103b96b9fd6ad90308b3e27a581852c4a69bd
- https://github.com/geolens-io/geolens/commit/407c068836058fdeca6bb477d39f841316b326a5
- https://github.com/geolens-io/geolens/pull/234
- https://github.com/geolens-io/geolens/pull/235
- https://github.com/geolens-io/geolens/pull/236
- https://github.com/geolens-io/geolens/pull/237
- https://github.com/geolens-io/geolens/pull/238
- https://github.com/geolens-io/geolens/releases/tag/v1.2.3
- https://github.com/geolens-io/geolens/security/advisories/GHSA-p23g-mvhj-jh3j
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-55178",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-55178",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-09-17T14:44:00.526473Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.5,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 3.6,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "geolens-io",
"product": "geolens",
"versions": [
{
"status": "affected",
"version": "< 1.2.3"
}
]
}
]
}
],
"published": "2026-09-15T15:17:18.747",
"references": [
{
"url": "https://github.com/geolens-io/geolens/commit/01bc87da03a5ecd0322c42388f4bfced7cb2ed06",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geolens-io/geolens/commit/07dfb1c63ecfc065c0c47b7718ec6ebe97798b1e",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geolens-io/geolens/commit/2c031da8e753639ff0e36d47ca05bbb96fbe4a9e",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geolens-io/geolens/commit/31a103b96b9fd6ad90308b3e27a581852c4a69bd",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geolens-io/geolens/commit/407c068836058fdeca6bb477d39f841316b326a5",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geolens-io/geolens/pull/234",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geolens-io/geolens/pull/235",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geolens-io/geolens/pull/236",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geolens-io/geolens/pull/237",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geolens-io/geolens/pull/238",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geolens-io/geolens/releases/tag/v1.2.3",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/geolens-io/geolens/security/advisories/GHSA-p23g-mvhj-jh3j",
"source": "security-advisories@github.com"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-200"
},
{
"lang": "en",
"value": "CWE-639"
},
{
"lang": "en",
"value": "CWE-862"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "GeoLens is a self-hosted geospatial data catalog with semantic search, OGC and STAC APIs, and a map builder. Prior to 1.2.3, multiple read and link endpoints authorize only the resource named in the request URL and fail to re-authorize a second caller-influenced dataset reached through a relationship, map layer, VRT source, externalId lookup, or request body. When a public map references a private dataset, anonymous callers can use GET /maps/{id} and GET /maps/{id}/style.json to obtain the private layer's metadata, sampled values, or vector tiles. The style response can expose a replayable HMAC tile URL that is bound to neither a user nor a map. When a public source dataset has a relationship to a private target dataset, anonymous callers can use the dataset relationship APIs to enumerate the relationship and read rows from the private target's backing table. Anonymous callers can also use GET /collections/datasets/items with an externalId dataset UUID to obtain metadata for any private, restricted, or unpublished dataset because that lookup performs no visibility check. Authenticated users with the default editor role can mosaic another user's private raster into an owned VRT and read its pixels, and POST /ai/metadata/{summary,keywords,lineage,quality-statement} accepts a body-controlled dataset_id without a visibility check and returns private metadata and sample values. Pre-existing vrt_source_links also expose unauthorized member metadata and health unless each member is filtered at read time. These paths can disclose vector geometries and attributes, raster pixels, table rows, table names, column schemas, feature counts, extents, source URLs and filenames, contacts, and sampled row values. This issue is fixed in version 1.2.3."
}
],
"lastModified": "2026-09-30T17:51:56.193",
"sourceIdentifier": "security-advisories@github.com"
}