CVE-2023-53256: firmware: arm_ffa: Fix FFA device names for logical partitions
In the Linux kernel, the following vulnerability has been resolved:
firmware: arm_ffa: Fix FFA device names for logical partitions
Each physical partition can provide multiple services each with UUID.
Each such service can be presented as logical partition with a unique
combination of VM ID and UUID. The number of distinct UUID in a system
will be less than or equal to the number of logical partitions.
However, currently it fails to register more than one logical partition
or service within a physical partition as the device name contains only
VM ID while both VM ID and UUID are maintained in the partition information.
The kernel complains with the below message:
| sysfs: cannot create duplicate filename '/devices/arm-ffa-8001'
| CPU: 1 PID: 1 Comm: swapper/0 Not tainted 6.3.0-rc7 #8
| Hardware name: FVP Base RevC (DT)
| Call trace:
| dump_backtrace+0xf8/0x118
| show_stack+0x18/0x24
| dump_stack_lvl+0x50/0x68
| dump_stack+0x18/0x24
| sysfs_create_dir_ns+0xe0/0x13c
| kobject_add_internal+0x220/0x3d4
| kobject_add+0x94/0x100
| device_add+0x144/0x5d8
| device_register+0x20/0x30
| ffa_device_register+0x88/0xd8
| ffa_setup_partitions+0x108/0x1b8
| ffa_init+0x2ec/0x3a4
| do_one_initcall+0xcc/0x240
| do_initcall_level+0x8c/0xac
| do_initcalls+0x54/0x94
| do_basic_setup+0x1c/0x28
| kernel_init_freeable+0x100/0x16c
| kernel_init+0x20/0x1a0
| ret_from_fork+0x10/0x20
| kobject_add_internal failed for arm-ffa-8001 with -EEXIST, don't try to
| register things with the same name in the same directory.
| arm_ffa arm-ffa: unable to register device arm-ffa-8001 err=-17
| ARM FF-A: ffa_setup_partitions: failed to register partition ID 0x8001
By virtue of being random enough to avoid collisions when generated in a
distributed system, there is no way to compress UUID keys to the number
of bits required to identify each. We can eliminate '-' in the name but
it is not worth eliminating 4 bytes and add unnecessary logic for doing
that. Also v1.0 doesn't provide the UUID of the partitions which makes
it hard to use the same for the device name.
So to keep it simple, let us alloc an ID using ida_alloc() and append the
same to "arm-ffa" to make up a unique device name. Also stash the id value
in ffa_dev to help freeing the ID later when the device is destroyed.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel issue in ARM FF-A handling. On affected ARM systems, multiple firmware services behind the same physical partition can be registered with duplicate device names, disrupting correct device setup. The public bundle does not show remote exposure or active exploitation.
Executive priority
Treat as a targeted platform risk, not a broad internet-facing emergency. Prioritize patch verification for ARM systems relying on FF-A firmware services, especially managed infrastructure, appliances, or embedded platforms where kernel updates lag.
Technical view
The arm_ffa firmware driver used only VM ID in device names although partition identity includes VM ID and UUID. Multiple logical partitions under one physical partition could collide in sysfs. The fix allocates a unique ID and appends it to the arm-ffa device name.
Likely exposure
Exposure is most likely on ARM Linux platforms using FF-A firmware partitions and affected kernel branches. The bundle lists Linux 5.14 and affected ranges around 5.15.114, 6.1.31, 6.3.5, and 6.4; confirm exact branch status with vendor advisories.
Exploitation context
No source in the bundle reports active exploitation, and KEV is false. The CVSS vector is local, low complexity, low privilege, no user interaction, with confidentiality impact listed as high. The bundle does not explain a practical attack path.
Researcher notes
The record describes a naming collision in FF-A logical partition registration. The fix changes device naming rather than documenting an exploit primitive. Evidence is insufficient to claim exploitability beyond the published CVSS attributes and kernel registration failure behavior.
Mitigation direction
Update affected Linux kernels to vendor-supported builds containing the referenced stable fixes.
Check Linux distribution advisories for exact package versions and backports.
Prioritize ARM platforms using FF-A firmware services.
If no vendor patch is available, request vendor guidance for affected ARM FF-A deployments.
Validation and detection
Inventory ARM Linux systems and kernel versions.
Identify systems using the arm_ffa firmware driver or FF-A firmware partitions.
Compare running kernels against vendor advisories and referenced stable commits.
Review boot logs for arm-ffa duplicate device registration errors.
Confirm patched systems register logical partitions with unique device names.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2023-53256 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.