Public vulnerability disclosure

CVE-2025-38427

video: screen_info: Relocate framebuffers behind PCI bridges

published

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

Technical severityUnscoredNo score in collected sources
Published2025-07-25Source updated 2026-11-05
Collected2026-11-052 attributed sources

Fixes and workarounds

No remediation reported in collected sources.

Missing remediation information is not evidence that no patch exists.

Affected products and versions

Affected products, source version ranges and reporting authorities
ProductVersionsAuthority
Linux
Linux
≥ a168da3182f8727b338509cb413147aa29012d6f; < cc3cc41ed67054a03134bea42408c720eec0fa04 (affected, git)
≥ 78aa89d1dfba1e3cf4a2e053afa3b4c4ec622371; < 5c70e3ad85d2890d8af375333699429de26327f2 (affected, git)
≥ 78aa89d1dfba1e3cf4a2e053afa3b4c4ec622371; < aeda386d86d79269a08f470dbdc53d13a91e51fa (affected, git)
≥ 78aa89d1dfba1e3cf4a2e053afa3b4c4ec622371; < 2f29b5c231011b94007d2c8a6d793992f2275db1 (affected, git)
≥ 6.6.45; < 6.6.95 (affected, semver)
Other versions: unaffected
CNA: Linux
Linux
Linux
6.9 (affected)
≥ 0; < 6.9 (unaffected, semver)
≥ 6.6.95; ≤ 6.6.* (unaffected, semver)
≥ 6.12.35; ≤ 6.12.* (unaffected, semver)
≥ 6.15.4; ≤ 6.15.* (unaffected, semver)
≥ 6.16; ≤ * (unaffected, original_commit_for_fix)
Other versions: affected
CNA: Linux

Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.

CVSS assessments

No CVSS assessment reported. An unscored record is not a low-severity determination.

Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

References

For agents and automation

Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.

Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.

Endpoints and access details

https://api.y2.dev/api/v2/cyber/cves
https://api.y2.dev/api/v2/cyber/cves/{cveId}

A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.

For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.

Agent access JSON · OpenAPI · CVE API guide