{"id":"CVE-2026-102469","details":"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.","aliases":["GHSA-j4vf-w939-pgxf"],"modified":"2026-10-16T02:47:48.575076894Z","published":"2026-10-15T08:11:33.465Z","database_specific":{"cna_assigner":"eclipse","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102469.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102469.json"},{"type":"ADVISORY","url":"https://github.com/eclipse-vertx/vertx-sql-client/security/advisories/GHSA-j4vf-w939-pgxf"},{"type":"WEB","url":"https://gitlab.eclipse.org/security/cve-assignment/-/work_items/347"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-102469"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/eclipse-vertx/vertx-sql-client","events":[{"introduced":"9d9d56dc8bcd30e525e177ff462212b11c55dd07"},{"last_affected":"6acce64664eabc086fc0fe1ea0ad9a21a153594c"},{"introduced":"6837af793026a2fba5b6b32e0161fce6d9c8b691"},{"last_affected":"fb40976c228a72763d595bbb8499feabd39166f1"},{"introduced":"1d93c2e48aafcaa38af40154205c7810f66e1cc2"},{"last_affected":"84f06a87043a873160492923154b044c80b16f32"},{"introduced":"3708bdc1d328afce37abd39dba932399a0469742"},{"last_affected":"3708bdc1d328afce37abd39dba932399a0469742"}],"database_specific":{"extracted_events":[{"introduced":"4.0.0"},{"last_affected":"4.5.34"},{"introduced":"5.0.0"},{"last_affected":"5.0.12"},{"introduced":"5.1.0"},{"last_affected":"5.1.9"},{"introduced":"5.2.0"},{"last_affected":"5.2.0"}],"source":"AFFECTED_FIELD"}}],"versions":["5.2.0","4.5.34","4.5.33","4.5.32","4.5.31","4.5.30","4.5.29","4.5.28","4.5.27","5.0.12","5.0.11","5.0.10","4.5.26","5.0.9","5.0.8","4.5.25","4.5.24","5.0.7","5.0.6","4.5.23","5.0.5","4.5.22","5.0.4","4.5.21","4.5.20","4.5.19","5.0.3","4.5.18","4.5.17","5.0.2","5.0.1","4.5.16","4.5.15","5.0.0","4.5.14","4.5.13","4.5.12","4.5.11","4.5.10","4.5.9","4.5.8","4.5.7","4.5.6","4.5.5","4.5.4","4.5.3","4.5.2","4.5.1","4.5.0","4.4.5","4.4.4","4.4.3","4.4.2","4.4.1","4.4.0","4.3.5","4.3.4","4.3.3","4.3.2","4.3.1","4.3.0","4.2.5","4.2.4","4.2.3","4.2.2","4.2.1","4.2.0","4.2.0.CR1","4.2.0.Beta1","4.1.1","4.1.0","4.1.0.CR2","4.1.0.CR1","4.1.0.Beta1","4.0.3","4.0.2","4.0.1","4.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-102469.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"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"}]}