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-74611

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 /> tls: rx: restore msg_iter before TLS 1.3 optimistic retry<br /> <br /> tls_decrypt_sg() advances msg-&gt;msg_iter when it maps user pages for<br /> the optimistic TLS 1.3 zero-copy path. If the decrypted record turns<br /> out not to be unpadded application data, tls_decrypt_sw() retries into<br /> a kernel skb, but leaves the iterator advanced.<br /> <br /> The subsequent copy from the skb then writes decrypted bytes again at<br /> a later point in the caller iovecs while recvmsg() reports only the<br /> post-retry length. A TLS peer can trigger this after the receiver<br /> enables TLS_RX_EXPECT_NO_PAD.<br /> <br /> Revert the iterator by the number of bytes consumed by the optimistic<br /> mapping before retrying without zero-copy.<br /> <br /> Add a selftest which sends a TLS 1.3 control record with<br /> TLS_RX_EXPECT_NO_PAD enabled and verifies that recvmsg() does not<br /> overwrite later iovecs beyond the returned length.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74612

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 /> veth: fix skb length accounting after XDP frag adjustment<br /> <br /> veth exposes non-linear skb fragments through an xdp_buff. If an XDP<br /> program adjusts the fragment area, veth_xdp_rcv_skb() copies<br /> xdp_frags_size back to skb-&gt;data_len but leaves skb-&gt;len containing the<br /> old fragment contribution.<br /> <br /> After a fragment shrink, this makes skb_headlen() larger than the actual<br /> linear area. In the reproduced UDP receive path, __skb_datagram_iter()<br /> copied 1024 bytes past the actual linear tail to userspace, starting at<br /> struct skb_shared_info. The copied bytes included the affected skb&amp;#39;s<br /> nr_frags, xdp_frags_size, and a kernel pointer from<br /> skb_shinfo(skb)-&gt;frags[0]. Real packet data was displaced by the same<br /> amount and truncated at the end.<br /> <br /> Subtract the old data_len before replacing it and add the new data_len<br /> afterwards, keeping skb-&gt;len and skb-&gt;data_len synchronized.<br /> <br /> Additionally, bpf_xdp_pull_data() can advance data_end while leaving<br /> frags present. The skb is then still non-linear, so the old<br /> __skb_put(skb, off) triggers SKB_LINEAR_ASSERT().<br /> <br /> Use skb_set_tail_pointer() and update skb-&gt;len explicitly instead,<br /> following bpf_prog_run_generic_xdp(). Unlike __skb_put(),<br /> skb_set_tail_pointer() does not require a linear skb.<br /> <br /> A 60000-byte UDP datagram on a veth pair with MTU 64000 was shortened by<br /> 1024 bytes from its fragment area. Before the fix, all 10 runs produced<br /> corrupted payloads. After the fix, all 10 runs matched the expected<br /> payload exactly. A forced-tailroom reproducer also exercises<br /> bpf_xdp_pull_data() with frags still present; the old code triggers<br /> SKB_LINEAR_ASSERT(), while this fix passes 10/10 runs.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74613

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 /> vsock/virtio: avoid refilling the RX queue after teardown<br /> <br /> Commit b917507e5ad9 ("vsock/virtio: stop workers during the .remove()")<br /> made the RX worker jump to its common exit when rx_run is clear. That<br /> exit still refills the RX queue when the buffer count is low, so work<br /> queued across virtio_vsock_vqs_del() can add buffers after the virtqueues<br /> have been deleted.<br /> <br /> BUG: KASAN: slab-use-after-free in virtqueue_add_sgs<br /> Read of size 4 by task kworker/0:1<br /> Workqueue: virtio_vsock virtio_transport_rx_work<br /> Call Trace:<br /> virtqueue_add_sgs (drivers/virtio/virtio_ring.c:2796)<br /> virtio_vsock_rx_fill (net/vmw_vsock/virtio_transport.c:332)<br /> virtio_transport_rx_work (net/vmw_vsock/virtio_transport.c:701)<br /> process_one_work (kernel/workqueue.c:3314)<br /> worker_thread (kernel/workqueue.c:3478)<br /> kthread (kernel/kthread.c:436)<br /> ret_from_fork (arch/x86/kernel/process.c:158)<br /> ret_from_fork_asm (arch/x86/entry/entry_64.S:245)<br /> ...<br /> Freed by task 141:<br /> kfree (mm/slub.c:6566)<br /> vp_del_vq (drivers/virtio/virtio_pci_common.c:259)<br /> vp_del_vqs (drivers/virtio/virtio_pci_common.c:285)<br /> virtio_vsock_freeze (net/vmw_vsock/virtio_transport.c:912)<br /> virtio_device_freeze (drivers/virtio/virtio.c:658)<br /> virtio_pci_freeze (drivers/virtio/virtio_pci_common.c:601)<br /> pci_pm_freeze (drivers/pci/pci-driver.c:1098)<br /> device_suspend (drivers/base/power/main.c:1968)<br /> Kernel panic - not syncing: KASAN: panic_on_warn set ...<br /> <br /> Jump to a no-refill exit when rx_run is clear, leaving the normal exit<br /> to replenish a running queue.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74597

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 /> ip6_tunnel: clear skb2-&gt;cb[] in ip6ip6_err()<br /> <br /> ip6ip6_err() clones an outer IPv6 ICMP error skb, pulls it to the<br /> quoted inner IPv6 packet, and then passes the clone to icmpv6_send().<br /> The clone still carries the outer packet&amp;#39;s inet6_skb_parm in skb-&gt;cb.<br /> <br /> If the outer packet had a Home Address Option, IP6CB(skb2)-&gt;dsthao<br /> remains non-zero after skb_pull(). icmpv6_send() later calls<br /> mip6_addr_swap(), which uses that stale dsthao offset against the quoted<br /> inner packet. A malformed inner destination-options header can then make<br /> the HAO lookup and address swap run past the end of the quoted packet<br /> and corrupt skb_shared_info.<br /> <br /> Clear skb2-&gt;cb[] before pulling the quoted inner IPv6 packet so the<br /> reply path does not reuse metadata left by the outer IPv6 stack.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74598

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 /> ipv6: fix Route Information option length validation<br /> <br /> rt6_route_rcv() validates the Route Information option (RFC 4191) length<br /> against the prefix length, but both checks are off by one.<br /> <br /> rinfo-&gt;length is the ND option length in units of 8 octets and it<br /> *includes* the 8-byte option header, so an option carrying N bytes of<br /> prefix has length == 1 + N/8. RFC 4191 section 2.3 requires length 3<br /> when Prefix Length is greater than 64, and 2 or 3 when it is greater<br /> than 0. The code accepts length &gt;= 2 and length &gt;= 1 respectively.<br /> <br /> ipv6_addr_prefix() then copies prefix_len/8 bytes out of rinfo-&gt;prefix,<br /> so a Router Advertisement with (prefix_len=128, length=2) or<br /> (prefix_len=64, length=1) makes the kernel read up to 8 bytes past the<br /> end of the option. Those bytes end up in the prefix of the route that<br /> gets installed, so they are visible to userspace:<br /> <br /> # RA with a Route Information option (prefix_len=128, length=2)<br /> # followed by a source link-layer address option, 01 01 de ad be ef ca fe<br /> $ ip -6 route show<br /> 2001:db8:dead:beef:101:dead:beef:cafe via fe80::1234 dev veth0 proto ra<br /> ^^^^^^^^^^^^^^^^^^ the next option, read out of bounds<br /> <br /> When the Route Information option is the last one in the packet, those<br /> eight bytes come from the skb tail room instead.<br /> <br /> Reject the option lengths RFC 4191 does not allow.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74599

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 /> mm/ptdump: always stabilise against page table freeing using init_mm<br /> <br /> Previous commits have established the invariant that kernel page table<br /> freeing is performed while an mmap read lock on init_mm is held, which<br /> fixes races between ptdump and kernel page table freeing over init_mm.<br /> <br /> However, x86 and arm64 can perform a ptdump over an mm other than init_mm<br /> via ptdump_walk_pgd() and since kernel memory ranges are shared across<br /> non-kernel mm&amp;#39;s, this means that the race still exists for these cases.<br /> <br /> Fix this by acquiring a nested mmap write lock for init_mm in<br /> ptdump_walk_pgd().<br /> <br /> This is safe as we take this after mmap write locking the mm, and nothing<br /> acquires the init_mm lock first before locking an arbitrary mm, so no<br /> deadlock is possible.<br /> <br /> Also update walk_page_range_debug() to assert that init_mm is write<br /> locked, add a comment explaining why and remove some redundant code, and<br /> eliminate the unnecessary and confusing invocation of<br /> walk_kernel_page_table_range().<br /> <br /> We can safely remove the non-NULL check for walk.mm, as the mmap lock<br /> asserts would NULL pointer deref if it was (and of course no callers do<br /> this).<br /> <br /> The first point at which ptdump can race kernel page table freeing is<br /> commit b6bdb7517c3d ("mm/vmalloc: add interfaces to free unmapped page<br /> table"), so we target this in the Fixes tag.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74600

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 /> mm/page_table_check: skip special zero mappings<br /> <br /> page_table_check_set() and page_table_check_clear() account mappings based<br /> on PageAnon(). Shared zero-page PTEs and huge zero PMDs are special<br /> mappings, but page_table_check can still account them as file-backed<br /> pages.<br /> <br /> An unprivileged process can populate enough zero mappings to overflow<br /> file_map_count and hit the existing BUG_ON(). The PTE path can do this<br /> with the shared zero page, and the PMD path can do the same with huge zero<br /> mappings.<br /> <br /> Skip special zero mappings in the user page-table accounting paths. Keep<br /> the PTE-side pte_special() check, and identify huge zero PMDs from the<br /> mapped folio instead of pmd_special(). That covers architectures where<br /> pmd_special() is a no-op without adding huge_zero_pfn checks to the<br /> generic counter helpers.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74601

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 /> ring-buffer: Use current_context for safe per-CPU buffer swap<br /> <br /> The ring_buffer_swap_cpu() function currently checks the per-CPU<br /> committing counter to determine if a buffer is actively being written to<br /> before performing the swap. However, there exists a race window where<br /> this check can be bypassed:<br /> <br /> ring_buffer_lock_reserve<br /> cpu_buffer = buffer-&gt;buffers[cpu]; // cpu_buffer_a<br /> rb_reserve_next_event<br /> rb_start_commit // inc committing<br /> if (unlikely(READ_ONCE(cpu_buffer-&gt;buffer) != buffer)) {...}<br /> __rb_reserve_next<br /> rb_move_tail<br /> rb_end_commit(cpu_buffer); // dec committing =&gt; 0<br /> /* interrupt hits here, successfully swaps! */<br /> local_inc(&amp;cpu_buffer-&gt;committing);<br /> <br /> ring_buffer_unlock_commit<br /> cpu_buffer = buffer-&gt;buffers[cpu]; // cpu_buffer_b<br /> rb_commit<br /> rb_end_commit<br /> RB_WARN_ON(cpu_buffer, !local_read(&amp;cpu_buffer-&gt;committing))<br /> // triggers warning<br /> <br /> The committing counter can temporarily drop to 0 during a single write<br /> operation (within rb_move_tail), creating a window where swap can<br /> succeed even though the write is still in progress. This leads to<br /> inconsistent buffer state and triggers the RB_WARN_ON in rb_commit().<br /> <br /> Replace the committing counter check with current_context checks, which<br /> are set at the entry of ring_buffer_lock_reserve() and remain valid<br /> throughout the entire write operation, providing a reliable indicator of<br /> buffer busy state during swap.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74602

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 /> ring-buffer: Initialise reader page order in rb_allocate_cpu_buffer()<br /> <br /> In rb_allocate_cpu_buffer(), bpage-&gt;order was omitted, leaving it as 0.<br /> This is an issue for a ring-buffer with subbufs bigger than PAGE_SIZE if<br /> when freed: free_buffer_page() relies on this value. Align the value<br /> with the actual allocation size (buffer::subbuf_order).
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74603

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 /> ptp: ocp: Fix board ID over-read<br /> <br /> The EEPROM board ID is a fixed 13-byte field and is not guaranteed to<br /> contain a NUL terminator. Passing it directly to<br /> devlink_info_version_fixed_put() treats it as a C string and may read<br /> beyond the field.<br /> <br /> Format at most OCP_BOARD_ID_LEN bytes into the existing local buffer<br /> before reporting the ID. Use a precision limit because the snprintf()<br /> output size alone does not bound the source string scan.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74604

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 /> Revert "thermal/drivers/hwmon: Cleanup coding style a bit"<br /> <br /> Revert commit 030a48b0f6ce ("thermal/drivers/hwmon: Cleanup coding style<br /> a bit") that introduced a use-after-free into the error path of<br /> thermal_add_hwmon_sysfs() by removing a valid check from it.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026

CVE-2026-74605

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 /> eventfs: Use children field for rcu head and add memory barriers<br /> <br /> When an eventfs inode is freed, it sets ei-&gt;is_freed and then uses its<br /> ei-&gt;list to add it to the srcu link list as the list field is a union with<br /> the rcu list head. As the ei-&gt;list is used to iterate over an SRCU<br /> protected list without taking the eventfs_mutex, there&amp;#39;s nothing stopping<br /> the iteration over that list to see the ei-&gt;rcu instead of the ei-&gt;list<br /> and it will read a corrupt target.<br /> <br /> To fix this, change the union of the rcu list head with the children list.<br /> On freeing the eventfs inode, set the is_free and execute a smp_wmb()<br /> before adding the eventfs inode to the SRCU list.<br /> <br /> On iteration of the ei-&gt;children list, at the start, execute a smp_rmb()<br /> and then read the is_freed of the ei to see if the children list is still<br /> valid. If is_freed is set, then the ei_child read is not valid and the<br /> loop should exit immediately.
Gravedad: Pendiente de análisis
Última modificación:
22/08/2026