arm-trusted-firmware — security advisory
TrustedFirmware-M (aka Trusted Firmware for M profile Arm CPUs) before 2.1.3 and 2.2.x before 2.2.1 lacks length validation during a firmware upgrade. While processing a new image, the Firmware Upgrade (FWU) module does not validate the length field of the Type-Length-Value (TLV) structure for dependent components against the maximum allowed size. If the length specified in the TLV exceeds the size of the buffer allocated on the stack, the FWU module will overwrite the buffer (and potentially other stack data) with the TLV's value content. An attacker could exploit this by crafting a malicious TLV entry in the unprotected section of the MCUBoot upgrade image. By setting the length field to exceed the expected structure size, the attacker can manipulate the stack memory of the system during the upgrade process.
- Products
- arm-trusted-firmware
- Affected versions
- 2.1-3, 2.10.0+dfsg-1, 2.10.0+dfsg-1build1, 2.10.0+dfsg-1build2, 2.12.1+dfsg-1, 2.12.1+dfsg-1ubuntu1, 2.2-2, 2.5+dfsg-1, 2.6+dfsg-1, 2.9.0+dfsg-3
- Fixed versions
- Not specified
- CVEs
- CVE-2025-53022
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 01:33 UTC · Revision 1
Source evidence
TrustedFirmware-M (aka Trusted Firmware for M profile Arm CPUs) before 2.1.3 and 2.2.x before 2.2.1 lacks length validation during a firmware upgrade. While processing a new image, the Firmware Upgrade (FWU) module does not validate the length field of the Type-Length-Value (TLV) structure for dependent components against the maximum allowed size. If the length specified in the TLV exceeds the size of the buffer allocated on the stack, the FWU module will overwrite the buffer (and potentially other stack data) with the TLV's value content. An attacker could exploit this by crafting a malicious TLV entry in the unprotected section of the MCUBoot upgrade image. By setting the length field to exceed the expected structure size, the attacker can manipulate the stack memory of the system during the upgrade process.
osv:UBUNTU-CVE-2025-53022
arm-trusted-firmware
Fixed versions: Not specified
arm-trusted-firmware
Fixed versions: Not specified
arm-trusted-firmware
Fixed versions: Not specified
arm-trusted-firmware
Fixed versions: Not specified
arm-trusted-firmware
Fixed versions: Not specified
arm-trusted-firmware
Fixed versions: Not specified
Complete source record
{
"id": "28a7b2c624c70d31ca0f53ff12ab88fa3de3b2d39f90666d0df985393e7a4a02",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2025-53022",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2025-53022",
"summary": "TrustedFirmware-M (aka Trusted Firmware for M profile Arm CPUs) before 2.1.3 and 2.2.x before 2.2.1 lacks length validation during a firmware upgrade. While processing a new image, the Firmware Upgrade (FWU) module does not validate the length field of the Type-Length-Value (TLV) structure for dependent components against the maximum allowed size. If the length specified in the TLV exceeds the size of the buffer allocated on the stack, the FWU module will overwrite the buffer (and potentially other stack data) with the TLV's value content. An attacker could exploit this by crafting a malicious TLV entry in the unprotected section of the MCUBoot upgrade image. By setting the length field to exceed the expected structure size, the attacker can manipulate the stack memory of the system during the upgrade process.",
"evidence": "osv:UBUNTU-CVE-2025-53022",
"products": [
{
"name": {
"value": "arm-trusted-firmware",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.1-3",
"evidence": "/affected/0/versions"
},
{
"value": "2.2-2",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "arm-trusted-firmware",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.5+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "2.6+dfsg-1",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "arm-trusted-firmware",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.9.0+dfsg-3",
"evidence": "/affected/2/versions"
},
{
"value": "2.10.0+dfsg-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.10.0+dfsg-1build1",
"evidence": "/affected/2/versions"
},
{
"value": "2.10.0+dfsg-1build2",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "arm-trusted-firmware",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.10.0+dfsg-1build2",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "arm-trusted-firmware",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.12.1+dfsg-1",
"evidence": "/affected/4/versions"
},
{
"value": "2.12.1+dfsg-1ubuntu1",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "arm-trusted-firmware",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.10.0+dfsg-1build2",
"evidence": "/affected/5/versions"
},
{
"value": "2.12.1+dfsg-1",
"evidence": "/affected/5/versions"
}
]
}
],
"severity": "high",
"structured": {
"id": "UBUNTU-CVE-2025-53022",
"aliases": [
"UBUNTU-CVE-2025-53022"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "arm-trusted-firmware",
"purl": "pkg:deb/ubuntu/arm-trusted-firmware?arch=source&distro=focal",
"ecosystem": "Ubuntu:20.04:LTS"
},
"versions": [
"2.1-3",
"2.2-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-53022.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "arm-trusted-firmware",
"binary_version": "2.2-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "arm-trusted-firmware",
"purl": "pkg:deb/ubuntu/arm-trusted-firmware?arch=source&distro=jammy",
"ecosystem": "Ubuntu:22.04:LTS"
},
"versions": [
"2.5+dfsg-1",
"2.6+dfsg-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-53022.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "arm-trusted-firmware",
"binary_version": "2.6+dfsg-1"
},
{
"binary_name": "arm-trusted-firmware-tools",
"binary_version": "2.6+dfsg-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "arm-trusted-firmware",
"purl": "pkg:deb/ubuntu/arm-trusted-firmware?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"2.9.0+dfsg-3",
"2.10.0+dfsg-1",
"2.10.0+dfsg-1build1",
"2.10.0+dfsg-1build2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-53022.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "arm-trusted-firmware",
"binary_version": "2.10.0+dfsg-1build2"
},
{
"binary_name": "arm-trusted-firmware-tools",
"binary_version": "2.10.0+dfsg-1build2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "arm-trusted-firmware",
"purl": "pkg:deb/ubuntu/arm-trusted-firmware?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"2.10.0+dfsg-1build2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-53022.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "arm-trusted-firmware",
"binary_version": "2.10.0+dfsg-1build2"
},
{
"binary_name": "arm-trusted-firmware-tools",
"binary_version": "2.10.0+dfsg-1build2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "arm-trusted-firmware",
"purl": "pkg:deb/ubuntu/arm-trusted-firmware?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"2.12.1+dfsg-1",
"2.12.1+dfsg-1ubuntu1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-53022.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "arm-trusted-firmware",
"binary_version": "2.12.1+dfsg-1ubuntu1"
},
{
"binary_name": "arm-trusted-firmware-tools",
"binary_version": "2.12.1+dfsg-1ubuntu1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "arm-trusted-firmware",
"purl": "pkg:deb/ubuntu/arm-trusted-firmware?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"2.10.0+dfsg-1build2",
"2.12.1+dfsg-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-53022.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "arm-trusted-firmware",
"binary_version": "2.12.1+dfsg-1"
},
{
"binary_name": "arm-trusted-firmware-tools",
"binary_version": "2.12.1+dfsg-1"
}
]
}
}
],
"modified": "2026-10-17T12:57:07.235612433Z",
"provider": "osv",
"upstream": [
"CVE-2025-53022"
],
"references": [
"https://ubuntu.com/security/CVE-2025-53022",
"https://www.cve.org/CVERecord?id=CVE-2025-53022",
"https://git.trustedfirmware.org/plugins/gitiles/TF-M/trusted-firmware-m.git/+/refs/heads/main/secure_fw/partitions/firmware_update/bootloader/mcuboot/tfm_mcuboot_fwu.c#257",
"https://trustedfirmware-m.readthedocs.io/en/latest/security/security_advisories/fwu_tlv_payload_out_of_bounds_vulnerability.html",
"https://www.trustedfirmware.org/projects/tf-m/"
]
},
"related_cves": [
{
"value": "CVE-2025-53022",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 356749,
"published_at": "2025-07-30T20:15:00+00:00"
}