Vulnerabilities

With the aim of informing, warning and helping professionals with the latest security vulnerabilities in technology systems, we have made a database available for users interested in this information, which is in Spanish and includes all of the latest documented and recognised vulnerabilities.

This repository, with over 75,000 registers, is based on the information from the NVD (National Vulnerability Database) – by virtue of a partnership agreement – through which INCIBE translates the included information into Spanish.

On occasions this list will show vulnerabilities that have still not been translated, as they are added while the INCIBE team is still carrying out the translation process. The CVE  (Common Vulnerabilities and Exposures) Standard for Information Security Vulnerability Names is used with the aim to support the exchange of information between different tools and databases.

All vulnerabilities collected are linked to different information sources, as well as available patches or solutions provided by manufacturers and developers. It is possible to carry out advanced searches, as there is the option to select different criteria to narrow down the results, some examples being vulnerability types, manufacturers and impact levels, among others.

Through RSS feeds or Newsletters we can be informed daily about the latest vulnerabilities added to the repository. Below there is a list, updated daily, where you can discover the latest vulnerabilities.

CVE-2026-23160

Publication date:
14/02/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> octeon_ep: Fix memory leak in octep_device_setup()<br /> <br /> In octep_device_setup(), if octep_ctrl_net_init() fails, the function<br /> returns directly without unmapping the mapped resources and freeing the<br /> allocated configuration memory.<br /> <br /> Fix this by jumping to the unsupported_dev label, which performs the<br /> necessary cleanup. This aligns with the error handling logic of other<br /> paths in this function.<br /> <br /> Compile tested only. Issue found using a prototype static analysis tool<br /> and code review.
Severity CVSS v4.0: Pending analysis
Last modification:
18/03/2026

CVE-2026-23159

Publication date:
14/02/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> perf: sched: Fix perf crash with new is_user_task() helper<br /> <br /> In order to do a user space stacktrace the current task needs to be a user<br /> task that has executed in user space. It use to be possible to test if a<br /> task is a user task or not by simply checking the task_struct mm field. If<br /> it was non NULL, it was a user task and if not it was a kernel task.<br /> <br /> But things have changed over time, and some kernel tasks now have their<br /> own mm field.<br /> <br /> An idea was made to instead test PF_KTHREAD and two functions were used to<br /> wrap this check in case it became more complex to test if a task was a<br /> user task or not[1]. But this was rejected and the C code simply checked<br /> the PF_KTHREAD directly.<br /> <br /> It was later found that not all kernel threads set PF_KTHREAD. The io-uring<br /> helpers instead set PF_USER_WORKER and this needed to be added as well.<br /> <br /> But checking the flags is still not enough. There&amp;#39;s a very small window<br /> when a task exits that it frees its mm field and it is set back to NULL.<br /> If perf were to trigger at this moment, the flags test would say its a<br /> user space task but when perf would read the mm field it would crash with<br /> at NULL pointer dereference.<br /> <br /> Now there are flags that can be used to test if a task is exiting, but<br /> they are set in areas that perf may still want to profile the user space<br /> task (to see where it exited). The only real test is to check both the<br /> flags and the mm field.<br /> <br /> Instead of making this modification in every location, create a new<br /> is_user_task() helper function that does all the tests needed to know if<br /> it is safe to read the user space memory or not.<br /> <br /> [1] https://lore.kernel.org/all/20250425204120.639530125@goodmis.org/
Severity CVSS v4.0: Pending analysis
Last modification:
18/03/2026

CVE-2026-23161

Publication date:
14/02/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> mm/shmem, swap: fix race of truncate and swap entry split<br /> <br /> The helper for shmem swap freeing is not handling the order of swap<br /> entries correctly. It uses xa_cmpxchg_irq to erase the swap entry, but it<br /> gets the entry order before that using xa_get_order without lock<br /> protection, and it may get an outdated order value if the entry is split<br /> or changed in other ways after the xa_get_order and before the<br /> xa_cmpxchg_irq.<br /> <br /> And besides, the order could grow and be larger than expected, and cause<br /> truncation to erase data beyond the end border. For example, if the<br /> target entry and following entries are swapped in or freed, then a large<br /> folio was added in place and swapped out, using the same entry, the<br /> xa_cmpxchg_irq will still succeed, it&amp;#39;s very unlikely to happen though.<br /> <br /> To fix that, open code the Xarray cmpxchg and put the order retrieval and<br /> value checking in the same critical section. Also, ensure the order won&amp;#39;t<br /> exceed the end border, skip it if the entry goes across the border.<br /> <br /> Skipping large swap entries crosses the end border is safe here. Shmem<br /> truncate iterates the range twice, in the first iteration,<br /> find_lock_entries already filtered such entries, and shmem will swapin the<br /> entries that cross the end border and partially truncate the folio (split<br /> the folio or at least zero part of it). So in the second loop here, if we<br /> see a swap entry that crosses the end order, it must at least have its<br /> content erased already.<br /> <br /> I observed random swapoff hangs and kernel panics when stress testing<br /> ZSWAP with shmem. After applying this patch, all problems are gone.
Severity CVSS v4.0: Pending analysis
Last modification:
03/04/2026

CVE-2026-23152

Publication date:
14/02/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> wifi: mac80211: correctly decode TTLM with default link map<br /> <br /> TID-To-Link Mapping (TTLM) elements do not contain any link mapping<br /> presence indicator if a default mapping is used and parsing needs to be<br /> skipped.<br /> <br /> Note that access points should not explicitly report an advertised TTLM<br /> with a default mapping as that is the implied mapping if the element is<br /> not included, this is even the case when switching back to the default<br /> mapping. However, mac80211 would incorrectly parse the frame and would<br /> also read one byte beyond the end of the element.
Severity CVSS v4.0: Pending analysis
Last modification:
17/03/2026

CVE-2026-23151

Publication date:
14/02/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> Bluetooth: MGMT: Fix memory leak in set_ssp_complete<br /> <br /> Fix memory leak in set_ssp_complete() where mgmt_pending_cmd structures<br /> are not freed after being removed from the pending list.<br /> <br /> Commit 302a1f674c00 ("Bluetooth: MGMT: Fix possible UAFs") replaced<br /> mgmt_pending_foreach() calls with individual command handling but missed<br /> adding mgmt_pending_free() calls in both error and success paths of<br /> set_ssp_complete(). Other completion functions like set_le_complete()<br /> were fixed correctly in the same commit.<br /> <br /> This causes a memory leak of the mgmt_pending_cmd structure and its<br /> associated parameter data for each SSP command that completes.<br /> <br /> Add the missing mgmt_pending_free(cmd) calls in both code paths to fix<br /> the memory leak. Also fix the same issue in set_advertising_complete().
Severity CVSS v4.0: Pending analysis
Last modification:
17/03/2026

CVE-2026-23150

Publication date:
14/02/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> nfc: llcp: Fix memleak in nfc_llcp_send_ui_frame().<br /> <br /> syzbot reported various memory leaks related to NFC, struct<br /> nfc_llcp_sock, sk_buff, nfc_dev, etc. [0]<br /> <br /> The leading log hinted that nfc_llcp_send_ui_frame() failed<br /> to allocate skb due to sock_error(sk) being -ENXIO.<br /> <br /> ENXIO is set by nfc_llcp_socket_release() when struct<br /> nfc_llcp_local is destroyed by local_cleanup().<br /> <br /> The problem is that there is no synchronisation between<br /> nfc_llcp_send_ui_frame() and local_cleanup(), and skb<br /> could be put into local-&gt;tx_queue after it was purged in<br /> local_cleanup():<br /> <br /> CPU1 CPU2<br /> ---- ----<br /> nfc_llcp_send_ui_frame() local_cleanup()<br /> |- do { &amp;#39;<br /> |- pdu = nfc_alloc_send_skb(..., &amp;err)<br /> | .<br /> | |- nfc_llcp_socket_release(local, false, ENXIO);<br /> | |- skb_queue_purge(&amp;local-&gt;tx_queue); |<br /> | &amp;#39; |<br /> |- skb_queue_tail(&amp;local-&gt;tx_queue, pdu); |<br /> ... |<br /> |- pdu = nfc_alloc_send_skb(..., &amp;err) |<br /> ^._________________________________.&amp;#39;<br /> <br /> local_cleanup() is called for struct nfc_llcp_local only<br /> after nfc_llcp_remove_local() unlinks it from llcp_devices.<br /> <br /> If we hold local-&gt;tx_queue.lock then, we can synchronise<br /> the thread and nfc_llcp_send_ui_frame().<br /> <br /> Let&amp;#39;s do that and check list_empty(&amp;local-&gt;list) before<br /> queuing skb to local-&gt;tx_queue in nfc_llcp_send_ui_frame().<br /> <br /> [0]:<br /> [ 56.074943][ T6096] llcp: nfc_llcp_send_ui_frame: Could not allocate PDU (error=-6)<br /> [ 64.318868][ T5813] kmemleak: 6 new suspected memory leaks (see /sys/kernel/debug/kmemleak)<br /> BUG: memory leak<br /> unreferenced object 0xffff8881272f6800 (size 1024):<br /> comm "syz.0.17", pid 6096, jiffies 4294942766<br /> hex dump (first 32 bytes):<br /> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br /> 27 00 03 40 00 00 00 00 00 00 00 00 00 00 00 00 &amp;#39;..@............<br /> backtrace (crc da58d84d):<br /> kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]<br /> slab_post_alloc_hook mm/slub.c:4979 [inline]<br /> slab_alloc_node mm/slub.c:5284 [inline]<br /> __do_kmalloc_node mm/slub.c:5645 [inline]<br /> __kmalloc_noprof+0x3e3/0x6b0 mm/slub.c:5658<br /> kmalloc_noprof include/linux/slab.h:961 [inline]<br /> sk_prot_alloc+0x11a/0x1b0 net/core/sock.c:2239<br /> sk_alloc+0x36/0x360 net/core/sock.c:2295<br /> nfc_llcp_sock_alloc+0x37/0x130 net/nfc/llcp_sock.c:979<br /> llcp_sock_create+0x71/0xd0 net/nfc/llcp_sock.c:1044<br /> nfc_sock_create+0xc9/0xf0 net/nfc/af_nfc.c:31<br /> __sock_create+0x1a9/0x340 net/socket.c:1605<br /> sock_create net/socket.c:1663 [inline]<br /> __sys_socket_create net/socket.c:1700 [inline]<br /> __sys_socket+0xb9/0x1a0 net/socket.c:1747<br /> __do_sys_socket net/socket.c:1761 [inline]<br /> __se_sys_socket net/socket.c:1759 [inline]<br /> __x64_sys_socket+0x1b/0x30 net/socket.c:1759<br /> do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]<br /> do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94<br /> entry_SYSCALL_64_after_hwframe+0x77/0x7f<br /> <br /> BUG: memory leak<br /> unreferenced object 0xffff88810fbd9800 (size 240):<br /> comm "syz.0.17", pid 6096, jiffies 4294942850<br /> hex dump (first 32 bytes):<br /> 68 f0 ff 08 81 88 ff ff 68 f0 ff 08 81 88 ff ff h.......h.......<br /> 00 00 00 00 00 00 00 00 00 68 2f 27 81 88 ff ff .........h/&amp;#39;....<br /> backtrace (crc 6cc652b1):<br /> kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]<br /> slab_post_alloc_hook mm/slub.c:4979 [inline]<br /> slab_alloc_node mm/slub.c:5284 [inline]<br /> kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5336<br /> __alloc_skb+0x203/0x240 net/core/skbuff.c:660<br /> alloc_skb include/linux/skbuff.h:1383 [inline]<br /> alloc_skb_with_frags+0x69/0x3f0 net/core/sk<br /> ---truncated---
Severity CVSS v4.0: Pending analysis
Last modification:
17/03/2026

CVE-2026-23149

Publication date:
14/02/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> drm: Do not allow userspace to trigger kernel warnings in drm_gem_change_handle_ioctl()<br /> <br /> Since GEM bo handles are u32 in the uapi and the internal implementation<br /> uses idr_alloc() which uses int ranges, passing a new handle larger than<br /> INT_MAX trivially triggers a kernel warning:<br /> <br /> idr_alloc():<br /> ...<br /> if (WARN_ON_ONCE(start
Severity CVSS v4.0: Pending analysis
Last modification:
17/03/2026

CVE-2026-23153

Publication date:
14/02/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> firewire: core: fix race condition against transaction list<br /> <br /> The list of transaction is enumerated without acquiring card lock when<br /> processing AR response event. This causes a race condition bug when<br /> processing AT request completion event concurrently.<br /> <br /> This commit fixes the bug by put timer start for split transaction<br /> expiration into the scope of lock. The value of jiffies in card structure<br /> is referred before acquiring the lock.
Severity CVSS v4.0: Pending analysis
Last modification:
18/03/2026

CVE-2026-23158

Publication date:
14/02/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> gpio: virtuser: fix UAF in configfs release path<br /> <br /> The gpio-virtuser configfs release path uses guard(mutex) to protect<br /> the device structure. However, the device is freed before the guard<br /> cleanup runs, causing mutex_unlock() to operate on freed memory.<br /> <br /> Specifically, gpio_virtuser_device_config_group_release() destroys<br /> the mutex and frees the device while still inside the guard(mutex)<br /> scope. When the function returns, the guard cleanup invokes<br /> mutex_unlock(&amp;dev-&gt;lock), resulting in a slab use-after-free.<br /> <br /> Limit the mutex lifetime by using a scoped_guard() only around the<br /> activation check, so that the lock is released before mutex_destroy()<br /> and kfree() are called.
Severity CVSS v4.0: Pending analysis
Last modification:
18/03/2026

CVE-2026-23156

Publication date:
14/02/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> efivarfs: fix error propagation in efivar_entry_get()<br /> <br /> efivar_entry_get() always returns success even if the underlying<br /> __efivar_entry_get() fails, masking errors.<br /> <br /> This may result in uninitialized heap memory being copied to userspace<br /> in the efivarfs_file_read() path.<br /> <br /> Fix it by returning the error from __efivar_entry_get().
Severity CVSS v4.0: Pending analysis
Last modification:
18/03/2026

CVE-2026-23155

Publication date:
14/02/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> can: gs_usb: gs_usb_receive_bulk_callback(): fix error message<br /> <br /> Sinc commit 79a6d1bfe114 ("can: gs_usb: gs_usb_receive_bulk_callback():<br /> unanchor URL on usb_submit_urb() error") a failing resubmit URB will print<br /> an info message.<br /> <br /> In the case of a short read where netdev has not yet been assigned,<br /> initialize as NULL to avoid dereferencing an undefined value. Also report<br /> the error value of the failed resubmit.
Severity CVSS v4.0: Pending analysis
Last modification:
18/03/2026

CVE-2026-23154

Publication date:
14/02/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> net: fix segmentation of forwarding fraglist GRO<br /> <br /> This patch enhances GSO segment handling by properly checking<br /> the SKB_GSO_DODGY flag for frag_list GSO packets, addressing<br /> low throughput issues observed when a station accesses IPv4<br /> servers via hotspots with an IPv6-only upstream interface.<br /> <br /> Specifically, it fixes a bug in GSO segmentation when forwarding<br /> GRO packets containing a frag_list. The function skb_segment_list<br /> cannot correctly process GRO skbs that have been converted by XLAT,<br /> since XLAT only translates the header of the head skb. Consequently,<br /> skbs in the frag_list may remain untranslated, resulting in protocol<br /> inconsistencies and reduced throughput.<br /> <br /> To address this, the patch explicitly sets the SKB_GSO_DODGY flag<br /> for GSO packets in XLAT&amp;#39;s IPv4/IPv6 protocol translation helpers<br /> (bpf_skb_proto_4_to_6 and bpf_skb_proto_6_to_4). This marks GSO<br /> packets as potentially modified after protocol translation. As a<br /> result, GSO segmentation will avoid using skb_segment_list and<br /> instead falls back to skb_segment for packets with the SKB_GSO_DODGY<br /> flag. This ensures that only safe and fully translated frag_list<br /> packets are processed by skb_segment_list, resolving protocol<br /> inconsistencies and improving throughput when forwarding GRO packets<br /> converted by XLAT.
Severity CVSS v4.0: Pending analysis
Last modification:
25/03/2026