Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidades

Con el objetivo de informar, advertir y ayudar a los profesionales sobre las últimas vulnerabilidades de seguridad en sistemas tecnológicos, ponemos a disposición de los usuarios interesados en esta información una base de datos con información en castellano sobre cada una de las últimas vulnerabilidades documentadas y conocidas.

Este repositorio con más de 75.000 registros esta basado en la información de NVD (National Vulnerability Database) – en función de un acuerdo de colaboración – por el cual desde INCIBE realizamos la traducción al castellano de la información incluida. En ocasiones este listado mostrará vulnerabilidades que aún no han sido traducidas debido a que se recogen en el transcurso del tiempo en el que el equipo de INCIBE realiza el proceso de traducción.

Se emplea el estándar de nomenclatura de vulnerabilidades CVE (Common Vulnerabilities and Exposures), con el fin de facilitar el intercambio de información entre diferentes bases de datos y herramientas. Cada una de las vulnerabilidades recogidas enlaza a diversas fuentes de información así como a parches disponibles o soluciones aportadas por los fabricantes y desarrolladores. Es posible realizar búsquedas avanzadas teniendo la opción de seleccionar diferentes criterios como el tipo de vulnerabilidad, fabricante, tipo de impacto entre otros, con el fin de acortar los resultados.

Mediante suscripción RSS o Boletines podemos estar informados diariamente de las últimas vulnerabilidades incorporadas al repositorio.

CVE-2026-74696

Fecha de publicación:
22/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> tcp: fix TFO max_qlen accounting across reuseport migration<br /> <br /> A listener&amp;#39;s TCP_FASTOPEN max_qlen stops being accurate and lets through<br /> far more pending Fast Open requests than it was configured for.<br /> <br /> This only shows up with SO_REUSEPORT listener migration, where closing a<br /> listener hands its still-pending TFO children over to a surviving one.<br /> <br /> fastopenq.qlen is charged in tcp_fastopen_create_child() when the child<br /> is created and uncharged in reqsk_fastopen_remove() when the handshake<br /> completes. The uncharge follows rsk_listener of the request the child<br /> points at, and inet_reqsk_clone() has repointed the child at a new<br /> request owned by the new listener, so the ++ and the -- land on two<br /> different sockets. The new listener&amp;#39;s qlen drifts negative and its<br /> limit no longer binds.<br /> <br /> Charge the new listener during migration, like reqsk_queue_migrated()<br /> already does for queue-&gt;young and queue-&gt;qlen.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74697

Fecha de publicación:
22/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> bnxt_en: Disable EOP for TPA on all chips to prevent data corruption<br /> <br /> EOP (End of frame padding) on the AGG ring may cause overlapping of<br /> zero padding at the end of one segment with the next segment&amp;#39;s data.<br /> If Relaxed Ordering (RO) is enabled, the zero padding may overwrite<br /> valid data in the next segment and corrupt the data. Older chips<br /> (P5 and older) do not automatically disable RO when EOP is enabled.<br /> On some ARM systems, data corruption was reported on 57508 (P5)<br /> chips with RO enabled.<br /> <br /> Always disable EOP on all chips on the AGG rings when TPA is enabled<br /> to fix the data corruption.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74698

Fecha de publicación:
22/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> net/mlx5e: fix BQL reset on SQ re-activation<br /> <br /> mlx5e_queue_start() deactivates and re-activates all channels but closes<br /> only the queue being restarted. mlx5e_activate_txqsq() then<br /> unconditionally calls netdev_tx_reset_queue(), zeroing the BQL counters<br /> of channels that kept their in-flight TX WQEs. The next completion then<br /> over-charges and trips the BUG_ON() in dql_completed():<br /> <br /> kernel BUG at lib/dynamic_queue_limits.c:99!<br /> RIP: 0010:dql_completed+0x23d/0x280<br /> Call Trace:<br /> <br /> mlx5e_poll_tx_cq+0x668/0xa60<br /> mlx5e_napi_poll+0x5b/0x7b0<br /> net_rx_action+0x15a/0x580<br /> <br /> Reset BQL only when the SQ has no bytes in flight (sq-&gt;cc == sq-&gt;pc).<br /> <br /> In the case that reset is skipped, the outstanding WQEs will eventually<br /> complete and rebalance the dql. The dql-&gt;limit is carried across the<br /> reset.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74699

Fecha de publicación:
22/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> drm/xe: Fix memory leak in exec_queue_set_hang_replay_state()<br /> <br /> The q-&gt;replay_state is blindly overwritten, which can potentially leak<br /> memory that was previously allocated by vmemdup_user().<br /> Return an error if q-&gt;replay_state is not empty.<br /> <br /> Discovered using AI-assisted static analysis confirmed by Intel Product<br /> Security.<br /> <br /> (cherry picked from commit f6b6cc1118bdbc4265fa8b3bdf8565b26f13e56e)
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74700

Fecha de publicación:
22/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> net/sched: cls_api: Always acquire rtnl_lock when destroying locked classifiers<br /> <br /> Another challenge with unlocked filters.<br /> There is a short window in tc_new_tfilter where a tcf_proto can be found<br /> and briefly referenced by a totally unrelated, unlocked classifier&amp;#39;s request<br /> and cause a race.<br /> <br /> Feng created a poc which created this race with two threads, one creating a<br /> u32 filter and other a flower filter in the same chain/prio:<br /> <br /> 1. Both threads enter tc_new_tfilter, both find the chain empty, both<br /> drop filter_chain_lock<br /> 2. u32 finishes tcf_proto_create("u32") first, calls<br /> tcf_chain_tp_insert_unique() -&gt; inserts u32_tp into the chain<br /> 3. flower finishes tcf_proto_create("flower") later, calls<br /> tcf_chain_tp_insert_unique() -&gt; tcf_chain_tp_find() now sees u32_tp<br /> already there, takes a reference on it, destroys flower&amp;#39;s own tp_new<br /> and returns u32_tp to the caller.<br /> <br /> Flower then hits the kind mismatch check (because it requested for kind<br /> "flower" but tp-&gt;ops-&gt;kind is "u32") and goes through the errout path<br /> which calls tcf_proto_put() on u32_tp. If the u32 thread has already<br /> gone through its own errout (its change() call failed on the PoC&amp;#39;s empty<br /> options) and dropped its create and insert refs, flower&amp;#39;s put is the<br /> last one and drops u32_tp&amp;#39;s refcnt to zero.<br /> <br /> At this point tp-&gt;ops-&gt;destroy() runs in a context that never took<br /> rtnl_lock. When that happens, it might cause a UAF like the following<br /> (illustrated by the PoC):<br /> <br /> [ +0.000710] BUG: KASAN: slab-use-after-free in u32_init (net/sched/cls_u32.c:393)<br /> [ +0.000281] Read of size 8 at addr ffff888120022f00 by task poc_feng_xue/524<br /> <br /> Call Trace:<br /> u32_init (net/sched/cls_u32.c:393)<br /> tc_new_tfilter (net/sched/cls_api.c:2378)<br /> <br /> Allocated by task 526:<br /> u32_init (net/sched/cls_u32.c:378)<br /> tc_new_tfilter (net/sched/cls_api.c:2378)<br /> <br /> Freed by task 522:<br /> kfree<br /> u32_destroy (net/sched/cls_u32.c:662)<br /> tcf_proto_destroy (net/sched/cls_api.c:446)<br /> tcf_proto_put (net/sched/cls_api.c:459)<br /> tc_new_tfilter (net/sched/cls_api.c:2459)<br /> <br /> Fix this by having tcf_proto_destroy() take rtnl_lock around<br /> tp-&gt;ops-&gt;destroy() for locked classifiers whenever rtnl is not held.<br /> <br /> To explain why I used a temp variable "not_lockless" I&amp;#39;d like to point to a<br /> semi-related note on rtnl_held vs TCF_PROTO_OPS_DOIT_UNLOCKED (adding here<br /> for future cleanup if deemed necessary):<br /> The rtnl_held parameter and the TCF_PROTO_OPS_DOIT_UNLOCKED flag are<br /> redundant sources of truth for whether rtnl_lock is held. Among the nine<br /> classifier destroy(..rtnl_held..) callbacks, only flower consults the<br /> rtnl_held parameter which it propagates to tc_setup_cb_destroy()<br /> and tc_setup_cb_call(). The other eight (u32, flow, bpf, cgroup, route, basic,<br /> fw, mall) ignore it entirely;-&gt; those that call tc_setup_cb_destroy()<br /> (u32, bpf, mall) hardcode true always instead of forwarding the parameter.<br /> <br /> A future cleanup should remove the rtnl_held parameter from the destroy callback<br /> signature entirely and have callers rely solely on their knowledge whether<br /> they are running in an unlocked context.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74701

Fecha de publicación:
22/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> net/openvswitch: check Ethernet header length in key_extract()<br /> <br /> When a packet arrives on an ARPHRD_NONE device (e.g. TUN),<br /> ovs_flow_key_extract() trusts the user-provided skb-&gt;protocol field: if<br /> it is ETH_P_TEB, the packet is classified as MAC_PROTO_ETHERNET and<br /> key_extract() is called without ensuring the skb has ETH_HLEN (14) bytes<br /> of linear data. key_extract() unconditionally pulls 2 * ETH_ALEN bytes<br /> for MAC addresses and parse_ethertype() pulls 2 more, either of which<br /> triggers a kernel BUG in __skb_pull() when the linear area is too small.<br /> <br /> kernel BUG at include/linux/skbuff.h:2848!<br /> RIP: 0010:key_extract+0xa7e/0xd90 net/openvswitch/flow.c:933<br /> ovs_flow_key_extract+0x419/0xa70<br /> ovs_vport_receive+0x222/0x390<br /> netdev_frame_hook+0x3e0/0x630<br /> tun_get_user+0x2d0c/0x38e0<br /> <br /> Fixed by calling check_header() in key_extract() before accessing the<br /> Ethernet header.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74702

Fecha de publicación:
22/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> vhost-scsi: reject feature changes after endpoint<br /> <br /> vhost_scsi_setup_vq_cmds() runs from VHOST_SCSI_SET_ENDPOINT and allocates<br /> each command&amp;#39;s protection scatterlist array (prot_sgl) according to the<br /> acknowledged VIRTIO_SCSI_F_T10_PI bit. The command pools are not rebuilt<br /> when VHOST_SET_FEATURES changes that bit later.<br /> <br /> Although virtio feature bits must not change after feature negotiation,<br /> vhost_scsi_set_features() currently accepts such a request after the<br /> endpoint is active and updates acked_features. Enabling T10-PI after<br /> endpoint setup therefore leaves prot_sgl NULL while the I/O path follows<br /> the new feature bit.<br /> <br /> For a 129-page protection payload, vhost_scsi_mapal() passes the missing<br /> first chunk to sg_alloc_table_chained():<br /> <br /> sg_alloc_table_chained(table, 129, first_chunk=NULL,<br /> nents_first_chunk=inline_sg_cnt)<br /> <br /> sg_pool_index() then hits:<br /> <br /> BUG_ON(nents &gt; SG_CHUNK_SIZE); /* 129 &gt; 128 */<br /> <br /> The kernel reported the following call trace and register state:<br /> <br /> Call Trace:<br /> <br /> ? __sg_alloc_table+0x1d8/0x250<br /> ? __pfx_vhost_run_work_list+0x10/0x10 [vhost]<br /> sg_alloc_table_chained+0x59/0xf0<br /> ? __pfx_sg_pool_alloc+0x10/0x10<br /> ? vhost_scsi_calc_sgls.constprop.0+0x43/0x60 [vhost_scsi]<br /> vhost_scsi_handle_vq+0xf02/0x1700 [vhost_scsi]<br /> ? __pfx_vhost_scsi_handle_vq+0x10/0x10 [vhost_scsi]<br /> vhost_scsi_handle_kick+0x37/0x50 [vhost_scsi]<br /> vhost_run_work_list+0x8e/0xd0 [vhost]<br /> vhost_task_fn+0xe1/0x210<br /> ret_from_fork+0x348/0x540<br /> <br /> <br /> RIP: 0010:0x4<br /> CR2 = 0x4<br /> RSP: 0018:ffffc90000dbf940 EFLAGS: 00010202<br /> RAX: ffffffff82396810 RBX: ffff88811dc28b80 RCX: 0000000000000000<br /> RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000081<br /> <br /> VHOST_F_LOG_ALL is a vhost-specific runtime feature and remains the only<br /> exception.<br /> <br /> Reject changes to any feature other than VHOST_F_LOG_ALL while the<br /> endpoint is active. This preserves the existing runtime log toggle while<br /> preventing feature-dependent command resources and data-path state from<br /> becoming inconsistent. Userspace must clear the endpoint before changing<br /> any other negotiated feature and set the endpoint up again afterward.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74703

Fecha de publicación:
22/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> vhost-scsi: Validate T10 PI scatterlist counts<br /> <br /> When T10 PI is negotiated, vhost-scsi splits protection bytes from<br /> the data iterator before mapping the request scatterlists. A malformed<br /> request can claim protection bytes that cover or exceed the full payload<br /> length. The former leaves no data bytes to map, while the latter<br /> underflows exp_data_len before advancing the iterator. Both cases can let<br /> a zero data SGL count reach sg_alloc_table_chained(), which triggers<br /> BUG_ON(!nents).<br /> <br /> Reject protection lengths that cover or exceed the payload before<br /> subtracting prot_bytes and advancing the iterator. Also propagate<br /> negative errors from the protection SGL calculation before calling the<br /> allocator, matching the data SGL path.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74687

Fecha de publicación:
22/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> watchdog: at91sam9_wdt: prevent timer rearm during teardown<br /> <br /> at91_ping() rearms the watchdog timer from its callback. timer_delete()<br /> neither waits for a running callback nor prevents it from rearming the<br /> timer, so probe failure or driver removal can leave the timer accessing the<br /> devm-allocated at91wdt after it has been freed.<br /> <br /> Use timer_shutdown_sync() on both teardown paths. It waits for a running<br /> callback and rejects any attempt by the callback to rearm the timer.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74688

Fecha de publicación:
22/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> sctp: clear control chunk transport if it is being removed<br /> <br /> sctp_make_heartbeat_ack() caches the destination transport in<br /> chunk-&gt;transport without taking a reference. When src_out_of_asoc_ok is<br /> enabled, the HEARTBEAT ACK may remain queued on control_chunk_list instead<br /> of being transmitted immediately.<br /> <br /> If the peer transport is removed while the chunk is still queued,<br /> sctp_assoc_rm_peer() drops the transport and schedules it for RCU freeing,<br /> but only clears cached transport pointers in out_chunk_list. The queued<br /> control chunk therefore retains a dangling transport pointer.<br /> <br /> Once an ASCONF_ACK clears the suppression and the queued control chunk is<br /> transmitted, SCTP dereferences the stale transport pointer, leading to a<br /> use-after-free.<br /> <br /> Fix this by also clearing chunk-&gt;transport for queued control chunks in<br /> control_chunk_list when removing the transport.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74689

Fecha de publicación:
22/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> net/atm: fix slab-out-of-bounds read in vcc_setsockopt()<br /> <br /> vcc_setsockopt() contained an ineffective optlen check:<br /> if (__SO_LEVEL_MATCH(optname, level) &amp;&amp; optlen != __SO_SIZE(optname))<br /> return -EINVAL;<br /> <br /> If __SO_LEVEL_MATCH(optname, level) evaluated to false (e.g. if the caller<br /> passed a mismatched level), the length check optlen != __SO_SIZE(optname)<br /> was short-circuited and bypassed. Execution then fell through to switch(optname),<br /> calling copy_from_sockptr() assuming optval contained sufficient space.<br /> <br /> Furthermore, even if level matched, a cgroup BPF setsockopt filter could shrink<br /> optlen after entry. Because copy_from_sockptr() on kernel pointers uses memcpy(),<br /> this leads to a KASAN slab-out-of-bounds read when optlen is smaller than the<br /> expected structure size.<br /> <br /> Fix this by using copy_safe_from_sockptr(), which unconditionally validates<br /> that optlen is at least the expected size before copying. Also change the local<br /> &amp;#39;value&amp;#39; variable type from &amp;#39;unsigned long&amp;#39; to &amp;#39;int&amp;#39; so that SO_SETCLP matches<br /> its sizeof(int) ABI encoding on 64-bit systems.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74690

Fecha de publicación:
22/08/2026
Idioma:
Inglés
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> s390/ism: Fix UAF of sba and ieq during ism_dev_exit()<br /> <br /> A ism interrupt handler can be active in parallel with ism_dev_exit(),<br /> accessing freed data structures.<br /> <br /> No new interrupts will be generated after unregister_ieq(). Drain ongoing<br /> interrupt handlers by free_irq(), before freeing ism data structures.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026