CVE-2026-102469
En Eclipse Vert.x, en las versiones [4.0.0, 4.5.34] o [5.0.0,5.0.12] o [5.1.0,5.1.9] o [5.2.0, 5.2.0], el cliente de DB2 de Vert.x (vertx-db2-client) contiene código de gestión del protocolo DRDA que deserializa los datos de columnas de tipo definido por el usuario (UDT) mediante una llamada sin protección a ObjectInputStream.readObject(), sin ningún ObjectInputFilter ni lista de clases permitidas.
Esta ruta de código se activa cuando un servidor DRDA envía un conjunto de resultados con una columna marcada como UDT (LID 0x50 del protocolo FDOCA). Sin embargo, DB2 no admite este tipo de UDT. El tipo 0x50 de FDOCA nunca lo envía un servidor DB2 legítimo.
Leer descripción completaMostrar menos
No obstante, un servidor DRDA malicioso o un atacante de tipo "man-in-the-middle" podría elaborar una respuesta con una columna etiquetada con 0x50, lo que provocaría que el cliente deserializara bytes arbitrarios controlados por el atacante en el bucle de eventos de Vert.x antes de que cualquier código de la aplicación pueda inspeccionar o rechazar los datos. Si en el classpath de la aplicación existe una cadena de gadgets de deserialización de Java, esto permite la ejecución remota de código. Sin una cadena de gadgets, es posible una denegación de servicio mediante grafos de objetos manipulados. TLS está deshabilitado por defecto, lo que hace factible la explotación mediante un ataque de tipo "man-in-the-middle".
El componente afectado es io.vertx:vertx-db2-client.
Traducción automática del texto original de NVD (en inglés).
CVSS
- Puntuación base
- 9.2
- Versión
- 4.0
- Vector
- CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/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
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días
- 0.42 %
- Percentil entre todas las CVEs puntuadas
- 35
- Fecha de la puntuación
- 20/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 access70 % - Impacto principal
T1059Command and Scripting Interpreterexecution55 % - Impacto secundario
T1499Endpoint Denial of Serviceimpact65 %
Vector AV:N/PR:N/UI:N y deserialización ObjectInputStream sin filtro; RCE solo con gadget chain en classpath, DoS sin él, según el texto.
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)
CWE
- CWE-502
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-102469",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-102469",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2026-10-15T14:28:32.965961Z"
}
}
],
"cvssMetricV31": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 5.9,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "NONE"
},
"impactScore": 3.6,
"exploitabilityScore": 2.2
}
],
"cvssMetricV40": [
{
"type": "Secondary",
"source": "emo@eclipse.org",
"cvssData": {
"Safety": "NOT_DEFINED",
"version": "4.0",
"Recovery": "NOT_DEFINED",
"baseScore": 9.2,
"Automatable": "NOT_DEFINED",
"attackVector": "NETWORK",
"baseSeverity": "CRITICAL",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/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",
"exploitMaturity": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"attackRequirements": "NONE",
"privilegesRequired": "NONE",
"subIntegrityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "HIGH",
"availabilityRequirement": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"confidentialityRequirement": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED"
}
}
]
},
"affected": [
{
"source": "emo@eclipse.org",
"affectedData": [
{
"vendor": "Eclipse Foundation",
"product": "Eclipse Vert.x",
"versions": [
{
"status": "affected",
"version": "4.0.0",
"versionType": "semver",
"lessThanOrEqual": "4.5.34"
},
{
"status": "affected",
"version": "5.0.0",
"versionType": "semver",
"lessThanOrEqual": "5.0.12"
},
{
"status": "affected",
"version": "5.1.0",
"versionType": "semver",
"lessThanOrEqual": "5.1.9"
},
{
"status": "affected",
"version": "5.2.0",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-10-15T09:17:15.573",
"references": [
{
"url": "https://github.com/eclipse-vertx/vertx-sql-client/security/advisories/GHSA-j4vf-w939-pgxf",
"tags": [
"Vendor Advisory"
],
"source": "emo@eclipse.org"
},
{
"url": "https://gitlab.eclipse.org/security/cve-assignment/-/work_items/347",
"tags": [
"Issue Tracking",
"Third Party Advisory"
],
"source": "emo@eclipse.org"
}
],
"vulnStatus": "Analyzed",
"weaknesses": [
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"description": [
{
"lang": "en",
"value": "CWE-502"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In Eclipse Vert.x versions [4.0.0, 4.5.34] or [5.0.0,5.0.12] or [5.1.0,5.1.9] or [5.2.0, 5.2.0], the Vert.x DB2 client (vertx-db2-client) contains DRDA protocol handling code that deserializes User Defined Type (UDT) column data using a bare ObjectInputStream.readObject() call with no ObjectInputFilter or class allowlist.\n\n\n\nThis code path is triggered when a DRDA server sends a result set with a column tagged as UDT (FDOCA protocol LID 0x50). However, DB2 does not support this type of UDT. The FDOCA 0x50 type is never sent by a legitimate DB2 server.\n\n\n\nNevertheless, a malicious or man-in-the-middle DRDA server could craft a response with a 0x50-tagged column, causing the client to deserialize arbitrary attacker-controlled bytes on the Vert.x event loop before any application code can inspect or reject the data. If a Java deserialization gadget chain is present on the application's classpath, this enables remote code execution. Without a gadget chain, denial of service is possible via crafted object graphs. TLS is disabled by default, making man-in-the-middle exploitation feasible.\n\n\n\nThe impacted component is io.vertx:vertx-db2-client."
}
],
"lastModified": "2026-10-20T19:27:39.213",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:eclipse:vert.x:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "34023A21-83CE-4F83-AE87-0013BAB3835E",
"versionEndExcluding": "4.5.35",
"versionStartIncluding": "4.5.0"
},
{
"criteria": "cpe:2.3:a:eclipse:vert.x:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "12790AEA-EB50-47A2-8B07-1D7A7016E0D3",
"versionEndExcluding": "5.1.10",
"versionStartIncluding": "5.0.0"
},
{
"criteria": "cpe:2.3:a:eclipse:vert.x:5.2.0:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "50BC34C1-4AB6-4047-A3D3-0201A78D81E3"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "emo@eclipse.org"
}