Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-31709

Опубликовано: 01 мая 2026
Источник: redhat
CVSS3: 7.8
EPSS Низкий

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: validate the whole DACL before rewriting it in cifsacl build_sec_desc() and id_mode_to_cifs_acl() derive a DACL pointer from a server-supplied dacloffset and then use the incoming ACL to rebuild the chmod/chown security descriptor. The original fix only checked that the struct smb_acl header fits before reading dacl_ptr->size or dacl_ptr->num_aces. That avoids the immediate header-field OOB read, but the rewrite helpers still walk ACEs based on pdacl->num_aces with no structural validation of the incoming DACL body. A malicious server can return a truncated DACL that still contains a header, claims one or more ACEs, and then drive replace_sids_and_copy_aces() or set_chmod_dacl() past the validated extent while they compare or copy attacker-controlled ACEs. Factor the DACL structural checks into validate_dacl(), extend them to validate each ACE against the DACL bounds, and use the shared validator before the chmod/chown rebuild paths. parse_dacl() reuses the same validator so the read-side parser and write-side rewrite paths agree on what constitutes a well-formed incoming DACL.

A flaw was found in the Linux kernel's Server Message Block (SMB) client, specifically within the cifsacl functionality. A malicious SMB server could provide a malformed Discretionary Access Control List (DACL) that claims to contain more Access Control Entries (ACEs) than are actually present. This insufficient validation allows the kernel to read or copy data beyond the intended memory boundaries, leading to memory corruption. This could potentially result in information disclosure or a denial of service.

Меры по смягчению последствий

To mitigate this issue, if SMB client functionality is not required, the cifs kernel module can be blacklisted to prevent it from loading. This can be achieved by creating a modprobe configuration file.

  1. Create a file named /etc/modprobe.d/disable-cifs.conf with the following content:
install cifs /bin/true blacklist cifs
  1. Regenerate the initramfs to ensure the change takes effect on boot:
dracut -f -v

or for systems using mkinitrd:

mkinitrd -f /boot/initramfs-$(uname -r).img $(uname -r)
  1. A system reboot is required for the changes to take effect. Warning: Disabling the cifs module will prevent the system from mounting SMB/CIFS shares. Ensure this functionality is not critical before applying this mitigation. refer: https://access.redhat.com/solutions/4117281

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 6kernelNot affected
Red Hat Enterprise Linux 7kernelNot affected
Red Hat Enterprise Linux 7kernel-rtNot affected
Red Hat Enterprise Linux 9kernel-rtAffected
Red Hat Enterprise Linux 10kernelFixedRHSA-2026:2332904.06.2026
Red Hat Enterprise Linux 10.0 Extended Update SupportkernelFixedRHSA-2026:2434308.06.2026
Red Hat Enterprise Linux 8kernel-rtFixedRHSA-2026:2174528.05.2026
Red Hat Enterprise Linux 8kernelFixedRHSA-2026:2170628.05.2026
Red Hat Enterprise Linux 9kernelFixedRHSA-2026:2155628.05.2026
Red Hat Enterprise Linux 9kernelFixedRHSA-2026:2155628.05.2026

Показывать по

Дополнительная информация

Статус:

Important
Дефект:
CWE-1288
https://bugzilla.redhat.com/show_bug.cgi?id=2464476kernel: smb: client: validate the whole DACL before rewriting it in cifsacl

EPSS

Процентиль: 18%
0.00259
Низкий

7.8 High

CVSS3

Связанные уязвимости

CVSS3: 8.8
ubuntu
3 месяца назад

In the Linux kernel, the following vulnerability has been resolved: smb: client: validate the whole DACL before rewriting it in cifsacl build_sec_desc() and id_mode_to_cifs_acl() derive a DACL pointer from a server-supplied dacloffset and then use the incoming ACL to rebuild the chmod/chown security descriptor. The original fix only checked that the struct smb_acl header fits before reading dacl_ptr->size or dacl_ptr->num_aces. That avoids the immediate header-field OOB read, but the rewrite helpers still walk ACEs based on pdacl->num_aces with no structural validation of the incoming DACL body. A malicious server can return a truncated DACL that still contains a header, claims one or more ACEs, and then drive replace_sids_and_copy_aces() or set_chmod_dacl() past the validated extent while they compare or copy attacker-controlled ACEs. Factor the DACL structural checks into validate_dacl(), extend them to validate each ACE against the DACL bounds, and use the shared validator befor...

CVSS3: 8.8
nvd
3 месяца назад

In the Linux kernel, the following vulnerability has been resolved: smb: client: validate the whole DACL before rewriting it in cifsacl build_sec_desc() and id_mode_to_cifs_acl() derive a DACL pointer from a server-supplied dacloffset and then use the incoming ACL to rebuild the chmod/chown security descriptor. The original fix only checked that the struct smb_acl header fits before reading dacl_ptr->size or dacl_ptr->num_aces. That avoids the immediate header-field OOB read, but the rewrite helpers still walk ACEs based on pdacl->num_aces with no structural validation of the incoming DACL body. A malicious server can return a truncated DACL that still contains a header, claims one or more ACEs, and then drive replace_sids_and_copy_aces() or set_chmod_dacl() past the validated extent while they compare or copy attacker-controlled ACEs. Factor the DACL structural checks into validate_dacl(), extend them to validate each ACE against the DACL bounds, and use the shared validator bef

msrc
3 месяца назад

smb: client: validate the whole DACL before rewriting it in cifsacl

CVSS3: 8.8
debian
3 месяца назад

In the Linux kernel, the following vulnerability has been resolved: s ...

CVSS3: 8.8
github
3 месяца назад

In the Linux kernel, the following vulnerability has been resolved: smb: client: validate the whole DACL before rewriting it in cifsacl build_sec_desc() and id_mode_to_cifs_acl() derive a DACL pointer from a server-supplied dacloffset and then use the incoming ACL to rebuild the chmod/chown security descriptor. The original fix only checked that the struct smb_acl header fits before reading dacl_ptr->size or dacl_ptr->num_aces. That avoids the immediate header-field OOB read, but the rewrite helpers still walk ACEs based on pdacl->num_aces with no structural validation of the incoming DACL body. A malicious server can return a truncated DACL that still contains a header, claims one or more ACEs, and then drive replace_sids_and_copy_aces() or set_chmod_dacl() past the validated extent while they compare or copy attacker-controlled ACEs. Factor the DACL structural checks into validate_dacl(), extend them to validate each ACE against the DACL bounds, and use the shared validator ...

EPSS

Процентиль: 18%
0.00259
Низкий

7.8 High

CVSS3