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

Publication date:
19/07/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> fbdev: fbcon: fix out-of-bounds read in err_out of fbcon_do_set_font()<br /> <br /> When fbcon_do_set_font() fails (e.g., due to a memory allocation failure<br /> inside vc_resize() under heavy memory pressure), it jumps to the `err_out`<br /> label to roll back the console state. However, the current rollback logic<br /> forgets to restore the `hi_font` state, leading to a severe state machine<br /> corruption.<br /> <br /> Earlier in the function, `set_vc_hi_font()` might be called to change<br /> `vc-&gt;vc_hi_font_mask` and mutate the screen buffer. If `vc_resize()`<br /> subsequently fails, the `err_out` path restores `vc_font.charcount`<br /> but entirely skips rolling back the `vc_hi_font_mask` and the screen<br /> buffer.<br /> <br /> This mismatch leaves the terminal in a desynchronized state. Because<br /> `vc_hi_font_mask` remains set, the VT subsystem will still accept<br /> character indices greater than 255 from userspace and write them to the<br /> screen buffer. Subsequent rendering calls (e.g., `fbcon_putcs()`) will<br /> then use these inflated indices to access the reverted, 256-character<br /> font array, leading to a deterministic out-of-bounds read and potential<br /> kernel memory disclosure.<br /> <br /> Fix this by adding the missing rollback logic for the `hi_font` mask<br /> and screen buffer in the error path.
Severity CVSS v4.0: Pending analysis
Last modification:
17/08/2026

CVE-2026-53403

Publication date:
19/07/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> fbdev: Fix fb_new_modelist to prevent null-ptr-deref in fb_videomode_to_var<br /> <br /> info-&gt;var, a framebuffer&amp;#39;s current mode, is expected to have a matching<br /> entry in info-&gt;modelist. var_to_display() relies on this and treats a<br /> failed fb_match_mode() as "This should not happen". fb_set_var() keeps it<br /> true by adding the mode to the list on every change, and<br /> do_register_framebuffer() does the same at registration.<br /> <br /> store_modes() replaces the modelist from userspace. fb_new_modelist()<br /> validates the new modes but does not check that info-&gt;var still has a<br /> match. It relies on fbcon_new_modelist() to re-point consoles, but that<br /> only handles consoles mapped to the framebuffer. With fbcon unbound there<br /> are none, so info-&gt;var is left describing a mode that is no longer in the<br /> list.<br /> <br /> A later console takeover runs var_to_display(), where fb_match_mode()<br /> returns NULL and leaves fb_display[i].mode NULL. fbcon_switch() passes it<br /> to display_to_var(), and fb_videomode_to_var() dereferences the NULL mode.<br /> <br /> Keep the current mode in the list in fb_new_modelist(), the same way<br /> fb_set_var() does.
Severity CVSS v4.0: Pending analysis
Last modification:
17/08/2026

CVE-2026-63793

Publication date:
19/07/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> ntfs: serialize volume label accesses<br /> <br /> Protect vol-&gt;volume_label with a mutex and snaphost the label before<br /> copy_to_user. This prevent a use-after-free when FS_IOC_SETFSLABEL<br /> replaces the vol-&gt;volume_label and FS_IOC_GETTSLABEL reads it<br /> concurrently.
Severity CVSS v4.0: Pending analysis
Last modification:
17/08/2026

CVE-2026-63794

Publication date:
19/07/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> KVM: SVM: Fix page overflow in sev_dbg_crypt() for ENCRYPT path<br /> <br /> In sev_dbg_crypt(), the per-iteration transfer length is bounded by<br /> the source page offset (PAGE_SIZE - s_off) but not by the destination<br /> page offset (PAGE_SIZE - d_off). When d_off &gt; s_off, the encrypt<br /> path (__sev_dbg_encrypt_user) performs a read-modify-write using a<br /> single-page intermediate buffer (dst_tpage):<br /> <br /> 1. __sev_dbg_decrypt() expands the size to round_up(len + (d_off &amp; 15), 16)<br /> before issuing the PSP command. If len + (d_off &amp; 15) &gt; PAGE_SIZE,<br /> the PSP writes beyond the end of the 4096-byte dst_tpage allocation.<br /> <br /> 2. The subsequent memcpy()/copy_from_user() into<br /> page_address(dst_tpage) + (d_off &amp; 15) of &amp;#39;len&amp;#39; bytes overflows<br /> by up to 15 bytes under the same condition.<br /> <br /> Trigger example: s_off = 0, d_off = 1, debug.len = PAGE_SIZE -<br /> the PSP is instructed to write round_up(4097, 16) = 4112 bytes to<br /> a 4096-byte buffer.<br /> <br /> Fix by also bounding len by (PAGE_SIZE - d_off), the same check that<br /> sev_send_update_data() already performs for its single-page guest<br /> region.<br /> <br /> ==================================================================<br /> BUG: KASAN: slab-use-after-free in sev_dbg_crypt+0x993/0xd10 [kvm_amd]<br /> Write of size 4095 at addr ff110062293bb009 by task sev_dbg_test/228214<br /> <br /> CPU: 96 UID: 0 PID: 228214 Comm: sev_dbg_test Tainted: G U W 7.0.0-smp--5ce9b0c48211-dbg #156 PREEMPTLAZY<br /> Tainted: [U]=USER, [W]=WARN<br /> Hardware name: Google Astoria/astoria, BIOS 0.20250817.1-0 08/25/2025<br /> Call Trace:<br /> <br /> dump_stack_lvl+0x54/0x70<br /> print_report+0xbc/0x260<br /> kasan_report+0xa2/0xd0<br /> kasan_check_range+0x25f/0x2c0<br /> __asan_memcpy+0x40/0x70<br /> sev_dbg_crypt+0x993/0xd10 [kvm_amd]<br /> sev_mem_enc_ioctl+0x33c/0x450 [kvm_amd]<br /> kvm_vm_ioctl+0x65d/0x6d0 [kvm]<br /> __se_sys_ioctl+0xb2/0x100<br /> do_syscall_64+0xe8/0x870<br /> entry_SYSCALL_64_after_hwframe+0x4b/0x53<br /> <br /> <br /> The buggy address belongs to the physical page:<br /> page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x7fe72b6a0 pfn:0x62293bb<br /> memcg:ff11000112827d82<br /> flags: 0x1400000000000000(node=1|zone=1)<br /> raw: 1400000000000000 0000000000000000 dead000000000122 0000000000000000<br /> raw: 00000007fe72b6a0 0000000000000000 00000001ffffffff ff11000112827d82<br /> page dumped because: kasan: bad access detected<br /> <br /> Memory state around the buggy address:<br /> ff110062293bbf00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br /> ff110062293bbf80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br /> &gt;ff110062293bc000: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc<br /> ^<br /> ff110062293bc080: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc<br /> ff110062293bc100: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc<br /> ==================================================================<br /> Disabling lock debugging due to kernel taint<br /> <br /> [sean: add sample KASAN splat, Fixes, and stable@]
Severity CVSS v4.0: Pending analysis
Last modification:
17/08/2026

CVE-2026-63795

Publication date:
19/07/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> 9p: avoid putting oldfid in p9_client_walk() error path<br /> <br /> When p9_client_walk() is called with clone set to false, fid aliases<br /> oldfid. If the walk subsequently fails after the request has been sent,<br /> the error path jumps to clunk_fid, which currently calls p9_fid_put(fid)<br /> unconditionally.<br /> <br /> This drops a reference to oldfid even though ownership of oldfid remains<br /> with the caller. If this is the last reference, oldfid can be clunked and<br /> destroyed while the caller still expects it to be valid. A later use or<br /> put of oldfid can then trigger a use-after-free or refcount underflow.<br /> <br /> Fix this by only putting fid in the clunk_fid error path when it does not<br /> alias oldfid, matching the existing guard in the error path below.<br /> <br /> This can be triggered when a multi-component walk is split into multiple<br /> p9_client_walk() calls and a later non-cloning walk fails. A reproducer<br /> and refcount warning logs are available on request.
Severity CVSS v4.0: Pending analysis
Last modification:
17/08/2026

CVE-2026-53390

Publication date:
19/07/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> ksmbd: fix out-of-bounds read in smb_check_perm_dacl()<br /> <br /> The permission-check ACE walk in smb_check_perm_dacl() validates the ACE<br /> header size and caps sid.num_subauth at SID_MAX_SUB_AUTHORITIES, but it<br /> never checks that ace-&gt;size is actually large enough to contain<br /> num_subauth sub-authorities before compare_sids() dereferences them.<br /> <br /> CIFS_SID_BASE_SIZE covers the SID header up to but excluding the<br /> sub_auth[] array, and offsetof(struct smb_ace, sid) is the ACE header,<br /> so the existing guards only guarantee the 8-byte SID base, i.e. zero<br /> sub-authorities. compare_sids() then reads ace-&gt;sid.sub_auth[i] for<br /> i num_subauth, ace-&gt;sid.num_subauth). The local<br /> comparison SIDs (sid_everyone, sid_unix_NFS_mode, and the id_to_sid()<br /> result) always have at least one sub-authority, and an attacker controls<br /> the ACE revision and authority bytes (which lie within the in-bounds SID<br /> base), so they can match one of those SIDs and force the sub_auth read.<br /> <br /> A crafted ACE with size == 16 and num_subauth &gt;= 1 placed at the tail of<br /> the security descriptor therefore causes a heap out-of-bounds read of up<br /> to SID_MAX_SUB_AUTHORITIES * sizeof(__le32) bytes past the pntsd<br /> allocation. The security descriptor is loaded by ksmbd_vfs_get_sd_xattr()<br /> into a buffer sized exactly to the on-disk data (kzalloc(sd_size) in<br /> ndr_decode_v4_ntacl()), so the read lands past the allocation. The<br /> malformed descriptor can be stored verbatim via SMB2_SET_INFO (the DACL<br /> is not normalised before being written to the security.NTACL xattr) and<br /> the read fires on a subsequent SMB2_CREATE access check, making this<br /> reachable by an authenticated client on a share that uses ACL xattrs.<br /> <br /> Add the missing num_subauth-versus-ace_size check, mirroring the<br /> identical guards already present in the sibling parsers parse_dacl() and<br /> smb_inherit_dacl().
Severity CVSS v4.0: Pending analysis
Last modification:
17/08/2026

CVE-2026-53391

Publication date:
19/07/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> NFSv4/pNFS: reject zero-length r_addr in nfs4_decode_mp_ds_addr<br /> <br /> nfs4_decode_mp_ds_addr() decodes the r_netid and r_addr opaques of a<br /> netaddr4 from a GETDEVICEINFO multipath-DS body, then immediately<br /> calls strrchr(buf, &amp;#39;.&amp;#39;) to locate the port separator. Both decodes<br /> use xdr_stream_decode_string_dup(), and the current code checks only<br /> "nlen
Severity CVSS v4.0: Pending analysis
Last modification:
17/08/2026

CVE-2026-53392

Publication date:
19/07/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> NFSv4/flexfiles: reject zero filehandle version count<br /> <br /> ff_layout_alloc_lseg() decodes the filehandle-version array count<br /> from the flexfiles layout body. The value is used as the count for<br /> kzalloc_objs(), and the current code only rejects NULL.<br /> <br /> A zero count yields ZERO_SIZE_PTR, which can be stored in<br /> dss_info-&gt;fh_versions even though later flexfiles paths assume that at<br /> least one filehandle version exists.<br /> <br /> Reject fh_count == 0 before the allocation, matching the existing zero<br /> version_count validation in the flexfiles GETDEVICEINFO parser.<br /> <br /> A QEMU/KASAN run with a malformed flexfiles layout hit:<br /> <br /> KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]<br /> RIP: 0010:ff_layout_encode_ff_layoutupdate.isra.0+0x15f/0x750<br /> ff_layout_encode_layoutreturn+0x683/0x970<br /> nfs4_xdr_enc_layoutreturn+0x278/0x3a0<br /> Kernel panic - not syncing: Fatal exception<br /> <br /> The patched kernel rejects the malformed layout without KASAN/oops/panic,<br /> and a valid fh_count=1 regression still opens, reads, and unmounts cleanly.
Severity CVSS v4.0: Pending analysis
Last modification:
17/08/2026

CVE-2026-53393

Publication date:
19/07/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> nfsd: reset write verifier on deferred writeback errors<br /> <br /> nfsd_vfs_write() and nfsd_commit() both call filemap_check_wb_err() to<br /> detect deferred writeback errors, but neither rotates the server&amp;#39;s write<br /> verifier (nn-&gt;writeverf) when this check fails. Every other<br /> durable-storage-failure path in these functions calls<br /> commit_reset_write_verifier() before returning an error.<br /> <br /> The missing rotation means clients holding UNSTABLE write data under the<br /> current verifier will COMMIT, receive the unchanged verifier back, and<br /> conclude their data is durable — silently dropping data that failed<br /> writeback. This violates the UNSTABLE+COMMIT durability contract<br /> (RFC 1813 §3.3.7, RFC 8881 §18.32).<br /> <br /> Add commit_reset_write_verifier() calls at both filemap_check_wb_err()<br /> error sites, matching the pattern used by adjacent error paths in the<br /> same functions. The helper already filters -EAGAIN and -ESTALE<br /> internally, so the calls are unconditionally safe.
Severity CVSS v4.0: Pending analysis
Last modification:
17/08/2026

CVE-2026-53394

Publication date:
19/07/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> nfsd: avoid leaking pre-allocated openowner on unconfirmed retry race<br /> <br /> When find_or_alloc_open_stateowner() encounters an unconfirmed owner, it<br /> calls release_openowner() and sets oo = NULL. Control then falls through<br /> past the `if (oo)` guard -- which would have freed any pre-allocated<br /> `new` -- and unconditionally executes `new = alloc_stateowner(...)`. If<br /> `new` was already allocated on a prior iteration, the pointer is<br /> silently overwritten and the previous allocation (slab object + owner<br /> name buffer) is leaked.<br /> <br /> This requires a race: two NFSv4.0 OPEN threads with the same owner<br /> string, where a concurrent thread inserts a new unconfirmed owner into<br /> the hash between retry iterations. The window is narrow but repeatable<br /> under adversarial conditions.<br /> <br /> Fix by adding `goto retry` after `oo = NULL` so the already-allocated<br /> `new` is reused on the next iteration rather than overwritten.
Severity CVSS v4.0: Pending analysis
Last modification:
17/08/2026

CVE-2026-53395

Publication date:
19/07/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> nfsd: fix dead ACL conflict guard in nfsd4_create<br /> <br /> nfsd4_create() steals create-&gt;cr_dpacl/cr_pacl into the local<br /> nfsd_attrs via the designated initializer, then immediately sets the<br /> source pointers to NULL. The subsequent conflict guard tests the<br /> already-nilled source fields, making it permanently dead code:<br /> <br /> if (create-&gt;cr_acl) {<br /> if (create-&gt;cr_dpacl || create-&gt;cr_pacl) /* always false */<br /> <br /> When a client encodes both FATTR4_WORD0_ACL and<br /> FATTR4_WORD2_POSIX_{DEFAULT,ACCESS}_ACL in the same CREATE fattr<br /> bitmap, nfsd4_acl_to_attr() overwrites attrs.na_pacl/na_dpacl without<br /> releasing the originals, leaking two posix_acl slab objects per<br /> request. Repeated requests cause unbounded slab exhaustion.<br /> <br /> Fix by checking attrs.na_dpacl/na_pacl (the stolen values) instead of<br /> the nilled create-&gt;cr_dpacl/cr_pacl, matching the correct pattern<br /> already used in nfsd4_setattr().
Severity CVSS v4.0: Pending analysis
Last modification:
17/08/2026

CVE-2026-53396

Publication date:
19/07/2026
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> nfsd: fix posix_acl leak and ignored error in nfsd4_create_file<br /> <br /> nfsd4_create_file() has two bugs in its ACL handling:<br /> <br /> The return value of nfsd4_acl_to_attr() is silently discarded. When<br /> the NFSv4-to-POSIX ACL conversion fails (e.g., -EINVAL for<br /> unsupported ACE types), the file is created without any ACL and the<br /> client receives NFS4_OK. This violates RFC 7530/8881 which require<br /> the server to reject unsupported attributes on CREATE.<br /> <br /> When start_creating() fails after ACL attributes have been populated<br /> in attrs (either via nfsd4_acl_to_attr or via ownership transfer from<br /> open-&gt;op_dpacl/op_pacl), the function jumps to out_write which skips<br /> nfsd_attrs_free(). The posix_acl allocations are leaked. A client<br /> can trigger this repeatedly with OPEN(CREATE), ACL attributes, and an<br /> invalid filename (e.g., longer than NAME_MAX).<br /> <br /> Fix both by capturing the nfsd4_acl_to_attr() return value and by<br /> changing the early error paths to jump to out instead of out_write.<br /> Initialize child to ERR_PTR(-EINVAL) so that end_creating() is safe<br /> to call even if start_creating() was never reached.
Severity CVSS v4.0: Pending analysis
Last modification:
17/08/2026