CVE-2025-38427

In the Linux kernel, the following vulnerability has been resolved: video: screen_info: Relocate framebuffers behind PCI bridges Apply PCI host-bridge window offsets to screen_info framebuffers. Fixes invalid access to I/O memory. Resources behind a PCI host bridge can be relocated by a certain offset in the kernel's CPU address range used for I/O. The framebuffer memory range stored in screen_info refers to the CPU addresses as seen during boot (where the offset is 0). During boot up, firmware may assign a different memory offset to the PCI host bridge and thereby relocating the framebuffer address of the PCI graphics device as seen by the kernel. The information in screen_info must be updated as well. The helper pcibios_bus_to_resource() performs the relocation of the screen_info's framebuffer resource (given in PCI bus addresses). The result matches the I/O-memory resource of the PCI graphics device (given in CPU addresses). As before, we store away the information necessary to later update the information in screen_info itself. Commit 78aa89d1dfba ("firmware/sysfb: Update screen_info for relocated EFI framebuffers") added the code for updating screen_info. It is based on similar functionality that pre-existed in efifb. Efifb uses a pointer to the PCI resource, while the newer code does a memcpy of the region. Hence efifb sees any updates to the PCI resource and avoids the issue. v3: - Only use struct pci_bus_region for PCI bus addresses (Bjorn) - Clarify address semantics in commit messages and comments (Bjorn) v2: - Fixed tags (Takashi, Ivan) - Updated information on efifb
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

19 Nov 2025, 18:59

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: video: screen_info: Reubicar framebuffers detrás de puentes PCI. Aplicar desplazamientos de ventana del puente host PCI a los framebuffers de screen_info. Corrige el acceso no válido a la memoria de E/S. Los recursos detrás de un puente host PCI se pueden reubicar mediante un desplazamiento determinado en el rango de direcciones de CPU del kernel utilizado para E/S. El rango de memoria del framebuffer almacenado en screen_info se refiere a las direcciones de CPU tal como se ven durante el arranque (donde el desplazamiento es 0). Durante el arranque, el firmware puede asignar un desplazamiento de memoria diferente al puente host PCI y, por lo tanto, reubicar la dirección del framebuffer del dispositivo gráfico PCI tal como lo ve el kernel. La información en screen_info también debe actualizarse. El asistente pcibios_bus_to_resource() realiza la reubicación del recurso framebuffer de screen_info (indicado en direcciones de bus PCI). El resultado coincide con el recurso de memoria de E/S del dispositivo gráfico PCI (indicado en direcciones de CPU). Como antes, almacenamos la información necesaria para actualizarla posteriormente en screen_info. El commit 78aa89d1dfba ("firmware/sysfb: Update screen_info for relocated EFI framebuffers" agregó el código para actualizar screen_info. Se basa en una funcionalidad similar a la que ya existía en efifb. Efifb usa un puntero al recurso PCI, mientras que el código más reciente realiza un memcpy de la región. Por lo tanto, efifb detecta cualquier actualización del recurso PCI y evita el problema. v3: - Usar struct pci_bus_region solo para direcciones de bus PCI (Bjorn) - Aclarar la semántica de las direcciones en los mensajes y comentarios de la confirmación (Bjorn) v2: - Etiquetas corregidas (Takashi, Ivan) - Información actualizada sobre efifb
CWE CWE-401
References () https://git.kernel.org/stable/c/2f29b5c231011b94007d2c8a6d793992f2275db1 - () https://git.kernel.org/stable/c/2f29b5c231011b94007d2c8a6d793992f2275db1 - Patch
References () https://git.kernel.org/stable/c/5c70e3ad85d2890d8af375333699429de26327f2 - () https://git.kernel.org/stable/c/5c70e3ad85d2890d8af375333699429de26327f2 - Patch
References () https://git.kernel.org/stable/c/aeda386d86d79269a08f470dbdc53d13a91e51fa - () https://git.kernel.org/stable/c/aeda386d86d79269a08f470dbdc53d13a91e51fa - Patch
References () https://git.kernel.org/stable/c/cc3cc41ed67054a03134bea42408c720eec0fa04 - () https://git.kernel.org/stable/c/cc3cc41ed67054a03134bea42408c720eec0fa04 - Patch
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
First Time Linux
Linux linux Kernel
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5

25 Jul 2025, 15:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-07-25 15:15

Updated : 2025-11-19 18:59


NVD link : CVE-2025-38427

Mitre link : CVE-2025-38427

CVE.ORG link : CVE-2025-38427


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-401

Missing Release of Memory after Effective Lifetime