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-2022-49900

Publication date:
01/05/2025
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> i2c: piix4: Fix adapter not be removed in piix4_remove()<br /> <br /> In piix4_probe(), the piix4 adapter will be registered in:<br /> <br /> piix4_probe()<br /> piix4_add_adapters_sb800() / piix4_add_adapter()<br /> i2c_add_adapter()<br /> <br /> Based on the probed device type, piix4_add_adapters_sb800() or single<br /> piix4_add_adapter() will be called.<br /> For the former case, piix4_adapter_count is set as the number of adapters,<br /> while for antoher case it is not set and kept default *zero*.<br /> <br /> When piix4 is removed, piix4_remove() removes the adapters added in<br /> piix4_probe(), basing on the piix4_adapter_count value.<br /> Because the count is zero for the single adapter case, the adapter won&amp;#39;t<br /> be removed and makes the sources allocated for adapter leaked, such as<br /> the i2c client and device.<br /> <br /> These sources can still be accessed by i2c or bus and cause problems.<br /> An easily reproduced case is that if a new adapter is registered, i2c<br /> will get the leaked adapter and try to call smbus_algorithm, which was<br /> already freed:<br /> <br /> Triggered by: rmmod i2c_piix4 &amp;&amp; modprobe max31730<br /> <br /> BUG: unable to handle page fault for address: ffffffffc053d860<br /> #PF: supervisor read access in kernel mode<br /> #PF: error_code(0x0000) - not-present page<br /> Oops: 0000 [#1] PREEMPT SMP KASAN<br /> CPU: 0 PID: 3752 Comm: modprobe Tainted: G<br /> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)<br /> RIP: 0010:i2c_default_probe (drivers/i2c/i2c-core-base.c:2259) i2c_core<br /> RSP: 0018:ffff888107477710 EFLAGS: 00000246<br /> ...<br /> <br /> i2c_detect (drivers/i2c/i2c-core-base.c:2302) i2c_core<br /> __process_new_driver (drivers/i2c/i2c-core-base.c:1336) i2c_core<br /> bus_for_each_dev (drivers/base/bus.c:301)<br /> i2c_for_each_dev (drivers/i2c/i2c-core-base.c:1823) i2c_core<br /> i2c_register_driver (drivers/i2c/i2c-core-base.c:1861) i2c_core<br /> do_one_initcall (init/main.c:1296)<br /> do_init_module (kernel/module/main.c:2455)<br /> ...<br /> <br /> ---[ end trace 0000000000000000 ]---<br /> <br /> Fix this problem by correctly set piix4_adapter_count as 1 for the<br /> single adapter so it can be normally removed.
Severity CVSS v4.0: Pending analysis
Last modification:
10/11/2025

CVE-2022-49907

Publication date:
01/05/2025
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> net: mdio: fix undefined behavior in bit shift for __mdiobus_register<br /> <br /> Shifting signed 32-bit value by 31 bits is undefined, so changing<br /> significant bit to unsigned. The UBSAN warning calltrace like below:<br /> <br /> UBSAN: shift-out-of-bounds in drivers/net/phy/mdio_bus.c:586:27<br /> left shift of 1 by 31 places cannot be represented in type &amp;#39;int&amp;#39;<br /> Call Trace:<br /> <br /> dump_stack_lvl+0x7d/0xa5<br /> dump_stack+0x15/0x1b<br /> ubsan_epilogue+0xe/0x4e<br /> __ubsan_handle_shift_out_of_bounds+0x1e7/0x20c<br /> __mdiobus_register+0x49d/0x4e0<br /> fixed_mdio_bus_init+0xd8/0x12d<br /> do_one_initcall+0x76/0x430<br /> kernel_init_freeable+0x3b3/0x422<br /> kernel_init+0x24/0x1e0<br /> ret_from_fork+0x1f/0x30<br />
Severity CVSS v4.0: Pending analysis
Last modification:
11/11/2025

CVE-2022-49905

Publication date:
01/05/2025
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> net/smc: Fix possible leaked pernet namespace in smc_init()<br /> <br /> In smc_init(), register_pernet_subsys(&amp;smc_net_stat_ops) is called<br /> without any error handling.<br /> If it fails, registering of &amp;smc_net_ops won&amp;#39;t be reverted.<br /> And if smc_nl_init() fails, &amp;smc_net_stat_ops itself won&amp;#39;t be reverted.<br /> <br /> This leaves wild ops in subsystem linkedlist and when another module<br /> tries to call register_pernet_operations() it triggers page fault:<br /> <br /> BUG: unable to handle page fault for address: fffffbfff81b964c<br /> RIP: 0010:register_pernet_operations+0x1b9/0x5f0<br /> Call Trace:<br /> <br /> register_pernet_subsys+0x29/0x40<br /> ebtables_init+0x58/0x1000 [ebtables]<br /> ...
Severity CVSS v4.0: Pending analysis
Last modification:
11/11/2025

CVE-2022-49903

Publication date:
01/05/2025
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> ipv6: fix WARNING in ip6_route_net_exit_late()<br /> <br /> During the initialization of ip6_route_net_init_late(), if file<br /> ipv6_route or rt6_stats fails to be created, the initialization is<br /> successful by default. Therefore, the ipv6_route or rt6_stats file<br /> doesn&amp;#39;t be found during the remove in ip6_route_net_exit_late(). It<br /> will cause WRNING.<br /> <br /> The following is the stack information:<br /> name &amp;#39;rt6_stats&amp;#39;<br /> WARNING: CPU: 0 PID: 9 at fs/proc/generic.c:712 remove_proc_entry+0x389/0x460<br /> Modules linked in:<br /> Workqueue: netns cleanup_net<br /> RIP: 0010:remove_proc_entry+0x389/0x460<br /> PKRU: 55555554<br /> Call Trace:<br /> <br /> ops_exit_list+0xb0/0x170<br /> cleanup_net+0x4ea/0xb00<br /> process_one_work+0x9bf/0x1710<br /> worker_thread+0x665/0x1080<br /> kthread+0x2e4/0x3a0<br /> ret_from_fork+0x1f/0x30<br />
Severity CVSS v4.0: Pending analysis
Last modification:
11/11/2025

CVE-2022-49890

Publication date:
01/05/2025
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> capabilities: fix potential memleak on error path from vfs_getxattr_alloc()<br /> <br /> In cap_inode_getsecurity(), we will use vfs_getxattr_alloc() to<br /> complete the memory allocation of tmpbuf, if we have completed<br /> the memory allocation of tmpbuf, but failed to call handler-&gt;get(...),<br /> there will be a memleak in below logic:<br /> <br /> |-- ret = (int)vfs_getxattr_alloc(mnt_userns, ...)<br /> | /* ^^^ alloc for tmpbuf */<br /> |-- value = krealloc(*xattr_value, error + 1, flags)<br /> | /* ^^^ alloc memory */<br /> |-- error = handler-&gt;get(handler, ...)<br /> | /* error! */<br /> |-- *xattr_value = value<br /> | /* xattr_value is &amp;tmpbuf (memory leak!) */<br /> <br /> So we will try to free(tmpbuf) after vfs_getxattr_alloc() fails to fix it.<br /> <br /> [PM: subject line and backtrace tweaks]
Severity CVSS v4.0: Pending analysis
Last modification:
01/10/2025

CVE-2022-49891

Publication date:
01/05/2025
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> tracing: kprobe: Fix memory leak in test_gen_kprobe/kretprobe_cmd()<br /> <br /> test_gen_kprobe_cmd() only free buf in fail path, hence buf will leak<br /> when there is no failure. Move kfree(buf) from fail path to common path<br /> to prevent the memleak. The same reason and solution in<br /> test_gen_kretprobe_cmd().<br /> <br /> unreferenced object 0xffff888143b14000 (size 2048):<br /> comm "insmod", pid 52490, jiffies 4301890980 (age 40.553s)<br /> hex dump (first 32 bytes):<br /> 70 3a 6b 70 72 6f 62 65 73 2f 67 65 6e 5f 6b 70 p:kprobes/gen_kp<br /> 72 6f 62 65 5f 74 65 73 74 20 64 6f 5f 73 79 73 robe_test do_sys<br /> backtrace:<br /> [] kmalloc_trace+0x27/0xa0<br /> [] 0xffffffffa059006f<br /> [] do_one_initcall+0x87/0x2a0<br /> [] do_init_module+0xdf/0x320<br /> [] load_module+0x3006/0x3390<br /> [] __do_sys_finit_module+0x113/0x1b0<br /> [] do_syscall_64+0x35/0x80<br /> [] entry_SYSCALL_64_after_hwframe+0x46/0xb0
Severity CVSS v4.0: Pending analysis
Last modification:
01/10/2025

CVE-2022-49892

Publication date:
01/05/2025
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> ftrace: Fix use-after-free for dynamic ftrace_ops<br /> <br /> KASAN reported a use-after-free with ftrace ops [1]. It was found from<br /> vmcore that perf had registered two ops with the same content<br /> successively, both dynamic. After unregistering the second ops, a<br /> use-after-free occurred.<br /> <br /> In ftrace_shutdown(), when the second ops is unregistered, the<br /> FTRACE_UPDATE_CALLS command is not set because there is another enabled<br /> ops with the same content. Also, both ops are dynamic and the ftrace<br /> callback function is ftrace_ops_list_func, so the<br /> FTRACE_UPDATE_TRACE_FUNC command will not be set. Eventually the value<br /> of &amp;#39;command&amp;#39; will be 0 and ftrace_shutdown() will skip the rcu<br /> synchronization.<br /> <br /> However, ftrace may be activated. When the ops is released, another CPU<br /> may be accessing the ops. Add the missing synchronization to fix this<br /> problem.<br /> <br /> [1]<br /> BUG: KASAN: use-after-free in __ftrace_ops_list_func kernel/trace/ftrace.c:7020 [inline]<br /> BUG: KASAN: use-after-free in ftrace_ops_list_func+0x2b0/0x31c kernel/trace/ftrace.c:7049<br /> Read of size 8 at addr ffff56551965bbc8 by task syz-executor.2/14468<br /> <br /> CPU: 1 PID: 14468 Comm: syz-executor.2 Not tainted 5.10.0 #7<br /> Hardware name: linux,dummy-virt (DT)<br /> Call trace:<br /> dump_backtrace+0x0/0x40c arch/arm64/kernel/stacktrace.c:132<br /> show_stack+0x30/0x40 arch/arm64/kernel/stacktrace.c:196<br /> __dump_stack lib/dump_stack.c:77 [inline]<br /> dump_stack+0x1b4/0x248 lib/dump_stack.c:118<br /> print_address_description.constprop.0+0x28/0x48c mm/kasan/report.c:387<br /> __kasan_report mm/kasan/report.c:547 [inline]<br /> kasan_report+0x118/0x210 mm/kasan/report.c:564<br /> check_memory_region_inline mm/kasan/generic.c:187 [inline]<br /> __asan_load8+0x98/0xc0 mm/kasan/generic.c:253<br /> __ftrace_ops_list_func kernel/trace/ftrace.c:7020 [inline]<br /> ftrace_ops_list_func+0x2b0/0x31c kernel/trace/ftrace.c:7049<br /> ftrace_graph_call+0x0/0x4<br /> __might_sleep+0x8/0x100 include/linux/perf_event.h:1170<br /> __might_fault mm/memory.c:5183 [inline]<br /> __might_fault+0x58/0x70 mm/memory.c:5171<br /> do_strncpy_from_user lib/strncpy_from_user.c:41 [inline]<br /> strncpy_from_user+0x1f4/0x4b0 lib/strncpy_from_user.c:139<br /> getname_flags+0xb0/0x31c fs/namei.c:149<br /> getname+0x2c/0x40 fs/namei.c:209<br /> [...]<br /> <br /> Allocated by task 14445:<br /> kasan_save_stack+0x24/0x50 mm/kasan/common.c:48<br /> kasan_set_track mm/kasan/common.c:56 [inline]<br /> __kasan_kmalloc mm/kasan/common.c:479 [inline]<br /> __kasan_kmalloc.constprop.0+0x110/0x13c mm/kasan/common.c:449<br /> kasan_kmalloc+0xc/0x14 mm/kasan/common.c:493<br /> kmem_cache_alloc_trace+0x440/0x924 mm/slub.c:2950<br /> kmalloc include/linux/slab.h:563 [inline]<br /> kzalloc include/linux/slab.h:675 [inline]<br /> perf_event_alloc.part.0+0xb4/0x1350 kernel/events/core.c:11230<br /> perf_event_alloc kernel/events/core.c:11733 [inline]<br /> __do_sys_perf_event_open kernel/events/core.c:11831 [inline]<br /> __se_sys_perf_event_open+0x550/0x15f4 kernel/events/core.c:11723<br /> __arm64_sys_perf_event_open+0x6c/0x80 kernel/events/core.c:11723<br /> [...]<br /> <br /> Freed by task 14445:<br /> kasan_save_stack+0x24/0x50 mm/kasan/common.c:48<br /> kasan_set_track+0x24/0x34 mm/kasan/common.c:56<br /> kasan_set_free_info+0x20/0x40 mm/kasan/generic.c:358<br /> __kasan_slab_free.part.0+0x11c/0x1b0 mm/kasan/common.c:437<br /> __kasan_slab_free mm/kasan/common.c:445 [inline]<br /> kasan_slab_free+0x2c/0x40 mm/kasan/common.c:446<br /> slab_free_hook mm/slub.c:1569 [inline]<br /> slab_free_freelist_hook mm/slub.c:1608 [inline]<br /> slab_free mm/slub.c:3179 [inline]<br /> kfree+0x12c/0xc10 mm/slub.c:4176<br /> perf_event_alloc.part.0+0xa0c/0x1350 kernel/events/core.c:11434<br /> perf_event_alloc kernel/events/core.c:11733 [inline]<br /> __do_sys_perf_event_open kernel/events/core.c:11831 [inline]<br /> __se_sys_perf_event_open+0x550/0x15f4 kernel/events/core.c:11723<br /> [...]
Severity CVSS v4.0: Pending analysis
Last modification:
07/05/2025

CVE-2022-49894

Publication date:
01/05/2025
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> cxl/region: Fix region HPA ordering validation<br /> <br /> Some regions may not have any address space allocated. Skip them when<br /> validating HPA order otherwise a crash like the following may result:<br /> <br /> devm_cxl_add_region: cxl_acpi cxl_acpi.0: decoder3.4: created region9<br /> BUG: kernel NULL pointer dereference, address: 0000000000000000<br /> [..]<br /> RIP: 0010:store_targetN+0x655/0x1740 [cxl_core]<br /> [..]<br /> Call Trace:<br /> <br /> kernfs_fop_write_iter+0x144/0x200<br /> vfs_write+0x24a/0x4d0<br /> ksys_write+0x69/0xf0<br /> do_syscall_64+0x3a/0x90<br /> <br /> store_targetN+0x655/0x1740:<br /> alloc_region_ref at drivers/cxl/core/region.c:676<br /> (inlined by) cxl_port_attach_region at drivers/cxl/core/region.c:850<br /> (inlined by) cxl_region_attach at drivers/cxl/core/region.c:1290<br /> (inlined by) attach_target at drivers/cxl/core/region.c:1410<br /> (inlined by) store_targetN at drivers/cxl/core/region.c:1453
Severity CVSS v4.0: Pending analysis
Last modification:
01/10/2025

CVE-2022-49895

Publication date:
01/05/2025
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> cxl/region: Fix decoder allocation crash<br /> <br /> When an intermediate port&amp;#39;s decoders have been exhausted by existing<br /> regions, and creating a new region with the port in question in it&amp;#39;s<br /> hierarchical path is attempted, cxl_port_attach_region() fails to find a<br /> port decoder (as would be expected), and drops into the failure / cleanup<br /> path.<br /> <br /> However, during cleanup of the region reference, a sanity check attempts<br /> to dereference the decoder, which in the above case didn&amp;#39;t exist. This<br /> causes a NULL pointer dereference BUG.<br /> <br /> To fix this, refactor the decoder allocation and de-allocation into<br /> helper routines, and in this &amp;#39;free&amp;#39; routine, check that the decoder,<br /> @cxld, is valid before attempting any operations on it.
Severity CVSS v4.0: Pending analysis
Last modification:
01/10/2025

CVE-2022-49896

Publication date:
01/05/2025
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> cxl/pmem: Fix cxl_pmem_region and cxl_memdev leak<br /> <br /> When a cxl_nvdimm object goes through a -&gt;remove() event (device<br /> physically removed, nvdimm-bridge disabled, or nvdimm device disabled),<br /> then any associated regions must also be disabled. As highlighted by the<br /> cxl-create-region.sh test [1], a single device may host multiple<br /> regions, but the driver was only tracking one region at a time. This<br /> leads to a situation where only the last enabled region per nvdimm<br /> device is cleaned up properly. Other regions are leaked, and this also<br /> causes cxl_memdev reference leaks.<br /> <br /> Fix the tracking by allowing cxl_nvdimm objects to track multiple region<br /> associations.
Severity CVSS v4.0: Pending analysis
Last modification:
01/10/2025

CVE-2022-49897

Publication date:
01/05/2025
Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.
Severity CVSS v4.0: Pending analysis
Last modification:
08/05/2025

CVE-2022-49899

Publication date:
01/05/2025
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> fscrypt: stop using keyrings subsystem for fscrypt_master_key<br /> <br /> The approach of fs/crypto/ internally managing the fscrypt_master_key<br /> structs as the payloads of "struct key" objects contained in a<br /> "struct key" keyring has outlived its usefulness. The original idea was<br /> to simplify the code by reusing code from the keyrings subsystem.<br /> However, several issues have arisen that can&amp;#39;t easily be resolved:<br /> <br /> - When a master key struct is destroyed, blk_crypto_evict_key() must be<br /> called on any per-mode keys embedded in it. (This started being the<br /> case when inline encryption support was added.) Yet, the keyrings<br /> subsystem can arbitrarily delay the destruction of keys, even past the<br /> time the filesystem was unmounted. Therefore, currently there is no<br /> easy way to call blk_crypto_evict_key() when a master key is<br /> destroyed. Currently, this is worked around by holding an extra<br /> reference to the filesystem&amp;#39;s request_queue(s). But it was overlooked<br /> that the request_queue reference is *not* guaranteed to pin the<br /> corresponding blk_crypto_profile too; for device-mapper devices that<br /> support inline crypto, it doesn&amp;#39;t. This can cause a use-after-free.<br /> <br /> - When the last inode that was using an incompletely-removed master key<br /> is evicted, the master key removal is completed by removing the key<br /> struct from the keyring. Currently this is done via key_invalidate().<br /> Yet, key_invalidate() takes the key semaphore. This can deadlock when<br /> called from the shrinker, since in fscrypt_ioctl_add_key(), memory is<br /> allocated with GFP_KERNEL under the same semaphore.<br /> <br /> - More generally, the fact that the keyrings subsystem can arbitrarily<br /> delay the destruction of keys (via garbage collection delay, or via<br /> random processes getting temporary key references) is undesirable, as<br /> it means we can&amp;#39;t strictly guarantee that all secrets are ever wiped.<br /> <br /> - Doing the master key lookups via the keyrings subsystem results in the<br /> key_permission LSM hook being called. fscrypt doesn&amp;#39;t want this, as<br /> all access control for encrypted files is designed to happen via the<br /> files themselves, like any other files. The workaround which SELinux<br /> users are using is to change their SELinux policy to grant key search<br /> access to all domains. This works, but it is an odd extra step that<br /> shouldn&amp;#39;t really have to be done.<br /> <br /> The fix for all these issues is to change the implementation to what I<br /> should have done originally: don&amp;#39;t use the keyrings subsystem to keep<br /> track of the filesystem&amp;#39;s fscrypt_master_key structs. Instead, just<br /> store them in a regular kernel data structure, and rework the reference<br /> counting, locking, and lifetime accordingly. Retain support for<br /> RCU-mode key lookups by using a hash table. Replace fscrypt_sb_free()<br /> with fscrypt_sb_delete(), which releases the keys synchronously and runs<br /> a bit earlier during unmount, so that block devices are still available.<br /> <br /> A side effect of this patch is that neither the master keys themselves<br /> nor the filesystem keyrings will be listed in /proc/keys anymore.<br /> ("Master key users" and the master key users keyrings will still be<br /> listed.) However, this was mostly an implementation detail, and it was<br /> intended just for debugging purposes. I don&amp;#39;t know of anyone using it.<br /> <br /> This patch does *not* change how "master key users" (-&gt;mk_users) works;<br /> that still uses the keyrings subsystem. That is still needed for key<br /> quotas, and changing that isn&amp;#39;t necessary to solve the issues listed<br /> above. If we decide to change that too, it would be a separate patch.<br /> <br /> I&amp;#39;ve marked this as fixing the original commit that added the fscrypt<br /> keyring, but as noted above the most important issue that this patch<br /> fixes wasn&amp;#39;t introduced until the addition of inline encryption support.
Severity CVSS v4.0: Pending analysis
Last modification:
01/10/2025