Trusted Firmware-M
Bug bounty on Sorona trustedfirmware.org
- Top reward
- $20,000
- Top severity paid
- Critical
- Assets in scope
- 10
- Public CVEs
- 60
- Last change
- No changes yet
At a glance
What to know before you start testing.
- Pays up to $20,000
- for critical bugs.
- Report on Sorona
- Submit through the program page.
- Partial safe harbor
- Some legal protection; read the terms.
- Payment
- Proof of identity needed to get paid.
- Publish after a fix
- Coordinate the timing with the company.
Rewards
What Sorona lists as the payout for each severity.
| Severity | Relative size | Reward |
|---|---|---|
| Critical |
|
$20,000 |
| High |
|
$10,000 |
| Medium |
|
$3,000 |
| Low |
|
$1,000 |
- Safe harbor
-
Partial
Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf.
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Scope
10 assets you may test, 8 excluded.
Web 1
- https://www.trustedfirmware.org/projects/tf-m
Products and areas 9
- Arm-owned platform code under /platform/ext/target/arm/* and the common platform layer above it
- Arm's program names four Trusted Firmware projects and takes reports on all of them: TF-A, TF-M, OP-TEE and TF-PSA-Crypto. The asset record describes TF-M as the Secure Processing Environment for Armv8-M and Armv8.1-M parts and for dual-core platforms, and reports run against the main branch or a currently supported LTS branch
- Mailbox and inter-processor message handling on dual-core platforms
- PSA Secure Storage in both forms, Internal Trusted Storage and Protected Storage, along with the crypto binding and the filesystem layer beneath them
- The Initial Attestation service and token generation
- The PSA Crypto service, its key store, and key-identifier ownership across partitions
- The PSA Firmware Update partition, its image validation and its manifest parsing
- The Secure Processing Environment as a whole: the Secure Partition Manager, partition scheduling, the isolation levels TF-M implements, and its own secure boot stage and image validation
- The SPE and NSPE interface: secure function veneer entry points, the non-secure callable region, the PSA client API and the IPC model behind it
Out of scope (8)
- Attacks outside the project's threat model, and physical or glitching attacks against the part itself
- Compliance-only, hardening-only and missing-zeroization findings, which Arm states plainly are not in scope
- Experimental, test and example code, along with support tooling, none of which counts as intended for production deployment
- Findings Arm already knew about from its own testing, closed as duplicates, and zero-days reported within 14 days of a public patch, which are usually not paid
- Non-Arm silicon ports: code in the /platform/ext/target/* directory other than /platform/ext/target/arm/* is out, which removes the vendor board support most real TF-M deployments actually ship
- Trusted Firmware projects the program does not list, which go to the Trusted Firmware incident handling process, and Trusted Firmware's web estate, which Linaro handles under its own disclosure process
- Unvalidated LLM output, which the program closes on sight, and reports asserting that software is out of date without a proof-of-concept
- Vulnerabilities in modifications or customisations that do not exist in the official Trusted Firmware repositories, including the vendor forks bundled into silicon SDKs
Rules
What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy.
While testing
-
Submit through sorona.xyz first.
-
A proof-of-concept demonstrating a full exploit chain on a supported platform is required, using existing supported platform code rather than a board port you wrote yourself
-
The bug has to reproduce for Arm on either the main branch or a currently supported LTS branch, in code intended for production deployment
-
Unvalidated LLM or AI output is closed, as are reports that assert software is out of date without a proof-of-concept
-
Reporters must be 18 or over, must clear sanctions screening, and must not be employed by a Trusted Firmware member company
Not accepted
-
Compliance-only, hardening-only and missing-zeroization findings
-
Unvalidated LLM output
-
reports asserting that software is out of date without a proof-of-concept
-
Findings Arm already knew about from its own testing, closed as duplicates
-
zero-days reported within 14 days of a public patch
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Changes
Tracked since 11 Nov 2026. Last checked 1 hour ago.
No changes yet. When the rewards or scope move, you will see it here and in the RSS feed.
Public CVEs
Published vulnerabilities in this vendor's products, from the NVD.
| CVE | Summary | Severity | Published |
|---|---|---|---|
| CVE-2026-53763 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Starting in version 3.0.0 and prior to version 4.11.0, 32-bit integer overflows in OP-TEE core's AES-GCM implementation cause the authentication tag to be computed with incorrect bit-length values after processing more than 512 megabytes | Low 3.8 | 6 Jul 2026 |
| CVE-2026-44362 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Starting in version 3.20.0 and prior to version 4.11.0, a vulnerability in OP-TEE’s subkey rollback protection allows the use of revoked or older subkey versions because the system fails to propagate versioning data during the Trusted App | Medium 5.5 | 6 Jul 2026 |
| CVE-2026-42546 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Starting in version 3.3.0 and prior to version 4.11.0, a resource leak exists in OP-TEE’s shared memory cleanup logic because the function `cleanup_shm_refs()` in `core/tee/entry_std.c` fails to apply a required bitmask (`OPTEE_MSG_ATTR_T | Low 3.8 | 6 Jul 2026 |
| CVE-2026-41514 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Starting in version 4.5.0 and prior to version 4.11.0, the RSA-OAEP decryption implementation in the Hisilicon HPRE crypto driver uses non-constant-time `memcmp()` for label hash verification and has multiple distinguishable error paths. | Low 2.5 | 6 Jul 2026 |
| CVE-2026-41515 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Starting in version 3.9.0 and prior to version 4.11.0, the RSA-OAEP decryption implementation in the NXP CAAM crypto driver uses non-constant-time `memcmp()` for label hash verification and has multiple distinguishable error paths. This c | Low 2.5 | 6 Jul 2026 |
| CVE-2026-41516 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Starting in version 4.5.0 and prior to version 4.11.0, the RSA PKCS#1 v1.5 decryption implementation in the Hisilicon HPRE crypto driver uses non-constant-time `memcmp()` for label hash verification and has multiple distinguishable error | Low 2.5 | 6 Jul 2026 |
| CVE-2026-41434 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Starting in version 3.10.0 and prior to version 4.11.0, an unbounded recursion can crash the PKCS#11 TA. Version 4.11.0 contains a patch. No known workarounds are available. | Low 3.3 | 6 Jul 2026 |
| CVE-2026-40257 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Starting in version 3.21.0 and prior to version 4.11.0, the ARM Crypto Extensions accelerated SHA-3 implementation has an off-by-one error that can cause a massive heap overflow that corrupts all TEE kernel memory following the hash state | Medium 5.5 | 6 Jul 2026 |
| CVE-2026-45614 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Prior to version 4.11.0, on many of the ECDH shared secret paths, the public key isn't verified to be a point on the correct curve. By passing approximately 30-40 crafted public keys to OP-TEE, the private key can be reconstructed by a no | Medium 4.7 | 3 Jun 2026 |
| CVE-2026-45702 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Starting in version 4.3.0 and prior to version 4.11.0, a type confusion vulnerability exists in OP-TEE OS when processing an FFA_MEM_SHARE request from the normal world. This only applies when OP-TEE is configured as an SPMC for S-EL0 SPs | Medium 4.4 | 3 Jun 2026 |
| CVE-2026-40290 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Starting in version 3.16.0 and prior to 4.11.0, a user-after-free (UAF) race condition exists in the shared memory teardown logic of FF-A within OP-TEE SPMC/SP flows. This only applies when OP-TEE is configured as an SPMC for S-EL0 SPs, t | High 7.8 | 3 Jun 2026 |
| CVE-2026-33662 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. From 3.8.0 to 4.10, in the function emsa_pkcs1_v1_5_encode() in core/drivers/crypto/crypto_api/acipher/rsassa.c, the amount of padding needed, "PS size", is calculated by subtracting the size of the digest and other fields required for th | High 7.5 | 24 Apr 2026 |
| CVE-2026-33317 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. In versions 3.13.0 through 4.10.0, missing checks in `entry_get_attribute_value()` in `ta/pkcs11/src/object.c` can lead to out-of-bounds read from the PKCS#11 TA heap or a crash. When chained with the OOB read, the PKCS#11 TA function `PK | High 8.7 | 24 Apr 2026 |
| CVE-2026-34877 | An issue was discovered in Mbed TLS versions from 2.19.0 up to 3.6.5, Mbed TLS 4.0.0. Insufficient protection of serialized SSL context or session structures allows an attacker who can modify the serialized structures to induce memory corruption, leading to arbitrary code execution. This is caused by Incorrect Use of Privileged APIs. | Critical 9.8 | 2 Apr 2026 |
| CVE-2026-34876 | An issue was discovered in Mbed TLS 3.x before 3.6.6. An out-of-bounds read vulnerability in mbedtls_ccm_finish() in library/ccm.c allows attackers to obtain adjacent CCM context data via invocation of the multipart CCM API with an oversized tag_len parameter. This is caused by missing validation of the tag_len parameter against the size of the internal 16-byte authentication buffer. The issue aff | High 7.5 | 2 Apr 2026 |
| CVE-2026-34873 | An issue was discovered in Mbed TLS 3.5.0 through 4.0.0. Client impersonation can occur while resuming a TLS 1.3 session. | Critical 9.1 | 1 Apr 2026 |
| CVE-2026-34871 | An issue was discovered in Mbed TLS before 3.6.6 and 4.x before 4.1.0 and TF-PSA-Crypto before 1.1.0. There is a Predictable Seed in a Pseudo-Random Number Generator (PRNG). | Medium 6.7 | 1 Apr 2026 |
| CVE-2026-34874 | An issue was discovered in Mbed TLS through 3.6.5 and 4.x through 4.0.0. There is a NULL pointer dereference in distinguished name parsing that allows an attacker to write to address 0. | High 7.5 | 1 Apr 2026 |
| CVE-2026-25833 | Mbed TLS 3.5.0 to 3.6.5 fixed in 3.6.6 and 4.1.0 has a buffer overflow in the x509_inet_pton_ipv6() function | High 7.5 | 1 Apr 2026 |
| CVE-2026-25835 | Mbed TLS before 3.6.6 and TF-PSA-Crypto before 1.1.0 misuse seeds in a Pseudo-Random Number Generator (PRNG). | High 7.7 | 1 Apr 2026 |
| CVE-2026-34875 | An issue was discovered in Mbed TLS through 3.6.5 and TF-PSA-Crypto 1.0.0. A buffer overflow can occur in public key export for FFDH keys. | Critical 9.8 | 1 Apr 2026 |
| CVE-2026-25834 | Mbed TLS v3.3.0 up to 3.6.5 and 4.0.0 allows Algorithm Downgrade. | Medium 6.5 | 1 Apr 2026 |
| CVE-2025-49087 | In Mbed TLS 3.6.1 through 3.6.3 before 3.6.4, a timing discrepancy in block cipher padding removal allows an attacker to recover the plaintext when PKCS#7 padding mode is used. | Medium 4.0 | 20 Jul 2025 |
| CVE-2025-49600 | In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_verify may accept invalid signatures if hash computation fails and internal errors go unchecked, enabling LMS (Leighton-Micali Signature) forgery in a fault scenario. Specifically, unchecked return values in mbedtls_lms_verify allow an attacker (who can induce a hardware hash accelerator fault) to bypass LMS signature verification by reusing stale stack d | Medium 4.9 | 4 Jul 2025 |
| CVE-2025-49601 | In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_import_public_key does not check that the input buffer is at least 4 bytes before reading a 32-bit field, allowing a possible out-of-bounds read on truncated input. Specifically, an out-of-bounds read in mbedtls_lms_import_public_key allows context-dependent attackers to trigger a crash or limited adjacent-memory disclosure by supplying a truncated LMS (L | Medium 4.8 | 4 Jul 2025 |
| CVE-2025-27809 | Mbed TLS before 2.28.10 and 3.x before 3.6.3, on the client side, accepts servers that have trusted certificates for arbitrary hostnames unless the TLS client application calls mbedtls_ssl_set_hostname. | Medium 5.4 | 25 Mar 2025 |
| CVE-2025-27810 | Mbed TLS before 2.28.10 and 3.x before 3.6.3, in some cases of failed memory allocation or hardware errors, uses uninitialized stack memory to compose the TLS Finished message, potentially leading to authentication bypasses such as replays. | Medium 5.4 | 25 Mar 2025 |
| CVE-2024-49195 | Mbed TLS 3.5.x through 3.6.x before 3.6.2 has a buffer underrun in pkwrite when writing an opaque key pair | Critical 9.8 | 15 Oct 2024 |
| CVE-2024-45157 | An issue was discovered in Mbed TLS before 2.28.9 and 3.x before 3.6.1, in which the user-selected algorithm is not used. Unlike previously documented, enabling MBEDTLS_PSA_HMAC_DRBG_MD_TYPE does not cause the PSA subsystem to use HMAC_DRBG: it uses HMAC_DRBG only when MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG and MBEDTLS_CTR_DRBG_C are disabled. | Medium 5.1 | 5 Sep 2024 |
| CVE-2024-45158 | An issue was discovered in Mbed TLS 3.6 before 3.6.1. A stack buffer overflow in mbedtls_ecdsa_der_to_raw() and mbedtls_ecdsa_raw_to_der() can occur when the bits parameter is larger than the largest supported curve. In some configurations with PSA disabled, all values of bits are affected. (This never happens in internal library calls, but can affect applications that call these functions directl | Critical 9.8 | 5 Sep 2024 |
| CVE-2024-45159 | An issue was discovered in Mbed TLS 3.x before 3.6.1. With TLS 1.3, when a server enables optional authentication of the client, if the client-provided certificate does not have appropriate values in if keyUsage or extKeyUsage extensions, then the return value of mbedtls_ssl_get_verify_result() would incorrectly have the MBEDTLS_X509_BADCERT_KEY_USAGE and MBEDTLS_X509_BADCERT_KEY_USAGE bits clear. | Critical 9.8 | 5 Sep 2024 |
| CVE-2023-51712 | An issue was discovered in Trusted Firmware-M through 2.0.0. The lack of argument verification in the logging subsystem allows attackers to read sensitive data via the login function. | Medium 4.7 | 5 Sep 2024 |
| CVE-2023-31339 | Improper input validation in ARM® Trusted Firmware used in AMD’s Zynq™ UltraScale+™) MPSoC/RFSoC may allow a privileged attacker to perform out of bound reads, potentially resulting in data leakage and denial of service. | Medium 4.8 | 13 Aug 2024 |
| CVE-2024-30166 | In Mbed TLS 3.3.0 through 3.5.2 before 3.6.0, a malicious client can cause information disclosure or a denial of service because of a stack buffer over-read (of less than 256 bytes) in a TLS 1.3 server via a TLS 3.1 ClientHello. | Critical 9.1 | 3 Apr 2024 |
| CVE-2024-28755 | An issue was discovered in Mbed TLS 3.5.x before 3.6.0. When an SSL context was reset with the mbedtls_ssl_session_reset() API, the maximum TLS version to be negotiated was not restored to the configured one. An attacker was able to prevent an Mbed TLS server from establishing any TLS 1.3 connection, potentially resulting in a Denial of Service or forced version downgrade from TLS 1.3 to TLS 1.2. | Medium 6.5 | 3 Apr 2024 |
| CVE-2024-28836 | An issue was discovered in Mbed TLS 3.5.x before 3.6.0. When negotiating the TLS version on the server side, it can fall back to the TLS 1.2 implementation of the protocol if it is disabled. If the TLS 1.2 implementation was disabled at build time, a TLS 1.2 client could put a TLS 1.3-only server into an infinite loop processing a TLS 1.2 ClientHello, resulting in a denial of service. If the TLS 1 | Medium 5.4 | 3 Apr 2024 |
| CVE-2024-28960 | An issue was discovered in Mbed TLS 2.18.0 through 2.28.x before 2.28.8 and 3.x before 3.6.0, and Mbed Crypto. The PSA Crypto API mishandles shared memory. | High 8.2 | 29 Mar 2024 |
| CVE-2024-23170 | An issue was discovered in Mbed TLS 2.x before 2.28.7 and 3.x before 3.5.2. There was a timing side channel in RSA private operations. This side channel could be sufficient for a local attacker to recover the plaintext. It requires the attacker to send a large number of messages for decryption, as described in "Everlasting ROBOT: the Marvin Attack" by Hubert Kario. | Medium 5.5 | 31 Jan 2024 |
| CVE-2024-23775 | Integer Overflow vulnerability in Mbed TLS 2.x before 2.28.7 and 3.x before 3.5.2, allows attackers to cause a denial of service (DoS) via mbedtls_x509_set_extension(). | High 7.5 | 31 Jan 2024 |
| CVE-2024-23744 | An issue was discovered in Mbed TLS 3.5.1. There is persistent handshake denial if a client sends a TLS 1.3 ClientHello without extensions. | High 7.5 | 21 Jan 2024 |
| CVE-2023-43615 | Mbed TLS 2.x before 2.28.5 and 3.x before 3.5.0 has a Buffer Overflow. | High 7.5 | 7 Oct 2023 |
| CVE-2023-45199 | Mbed TLS 3.2.x through 3.4.x before 3.5 has a Buffer Overflow that can lead to remote Code execution. | Critical 9.8 | 7 Oct 2023 |
| CVE-2023-41325 | OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Starting in version 3.20 and prior to version 3.22, `shdr_verify_signature` can make a double free. `shdr_verify_signature` used to verify a TA binary before it is loaded. To verify a signature of it, allocate a memory for RSA key. RSA ke | High 7.4 | 15 Sep 2023 |
| CVE-2023-40271 | In Trusted Firmware-M through TF-Mv1.8.0, for platforms that integrate the CryptoCell accelerator, when the CryptoCell PSA Driver software Interface is selected, and the Authenticated Encryption with Associated Data Chacha20-Poly1305 algorithm is used, with the single-part verification function (defined during the build-time configuration phase) implemented with a dedicated function (i.e., not rel | High 7.5 | 8 Sep 2023 |
| CVE-2021-36647 | Use of a Broken or Risky Cryptographic Algorithm in the function mbedtls_mpi_exp_mod() in lignum.c in Mbed TLS Mbed TLS all versions before 3.0.0, 2.27.0 or 2.16.11 allows attackers with access to precise enough timing and memory access information (typically an untrusted operating system attacking a secure enclave such as SGX or the TrustZone secure world) to recover the private keys used in RSA. | Medium 4.7 | 17 Jan 2023 |
| CVE-2022-47630 | Trusted Firmware-A through 2.8 has an out-of-bounds read in the X.509 parser for parsing boot certificates. This affects downstream use of get_ext and auth_nvctr. Attackers might be able to trigger dangerous read side effects or obtain sensitive information about microarchitectural state. | High 7.4 | 16 Jan 2023 |
| CVE-2022-47549 | An unprotected memory-access operation in optee_os in TrustedFirmware Open Portable Trusted Execution Environment (OP-TEE) before 3.20 allows a physically proximate adversary to bypass signature verification and install malicious trusted applications via electromagnetic fault injections. | Medium 6.4 | 19 Dec 2022 |
| CVE-2022-46392 | An issue was discovered in Mbed TLS before 2.28.2 and 3.x before 3.3.0. An adversary with access to precise enough information about memory accesses (typically, an untrusted operating system attacking a secure enclave) can recover an RSA private key after observing the victim performing a single private-key operation, if the window size (MBEDTLS_MPI_WINDOW_SIZE) used for the exponentiation is 3 or | Medium 5.3 | 15 Dec 2022 |
| CVE-2022-46393 | An issue was discovered in Mbed TLS before 2.28.2 and 3.x before 3.3.0. There is a potential heap-based buffer overflow and heap-based buffer over-read in DTLS if MBEDTLS_SSL_DTLS_CONNECTION_ID is enabled and MBEDTLS_SSL_CID_IN_LEN_MAX > 2 * MBEDTLS_SSL_CID_OUT_LEN_MAX. | Critical 9.8 | 15 Dec 2022 |
| CVE-2022-46152 | OP-TEE Trusted OS is the secure side implementation of OP-TEE project, a Trusted Execution Environment. Versions prior to 3.19.0, contain an Improper Validation of Array Index vulnerability. The function `cleanup_shm_refs()` is called by both `entry_invoke_command()` and `entry_open_session()`. The commands `OPTEE_MSG_CMD_OPEN_SESSION` and `OPTEE_MSG_CMD_INVOKE_COMMAND` can be executed from the no | High 8.2 | 29 Nov 2022 |
| CVE-2022-35409 | An issue was discovered in Mbed TLS before 2.28.1 and 3.x before 3.2.0. In some configurations, an unauthenticated attacker can send an invalid ClientHello message to a DTLS server that causes a heap-based buffer over-read of up to 255 bytes. This can cause a server crash or possibly information disclosure based on error responses. Affected configurations have MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE en | Critical 9.1 | 15 Jul 2022 |
| CVE-2021-43619 | Trusted Firmware M 1.4.x through 1.4.1 has a buffer overflow issue in the Firmware Update partition. In the IPC model, a psa_fwu_write caller from SPE or NSPE can overwrite stack memory locations. | High 7.8 | 1 Mar 2022 |
| CVE-2021-40327 | Trusted Firmware-M (TF-M) 1.4.0, when Profile Small is used, has incorrect access control. NSPE can access a secure key (held by the Crypto service) based solely on knowledge of its key ID. For example, there is no authorization check associated with the relationship between a caller and a key owner. | Medium 5.9 | 13 Jan 2022 |
| CVE-2021-45450 | In Mbed TLS before 2.28.0 and 3.x before 3.1.0, psa_cipher_generate_iv and psa_cipher_encrypt allow policy bypass or oracle-based decryption when the output buffer is at memory locations accessible to an untrusted application. | High 7.5 | 21 Dec 2021 |
| CVE-2021-44732 | Mbed TLS before 3.0.1 has a double free in certain out-of-memory conditions, as demonstrated by an mbedtls_ssl_set_session() failure. | Critical 9.8 | 20 Dec 2021 |
| CVE-2021-44149 | An issue was discovered in Trusted Firmware OP-TEE Trusted OS through 3.15.0. The OPTEE-OS CSU driver for NXP i.MX6UL SoC devices lacks security access configuration for wakeup-related registers, resulting in TrustZone bypass because the NonSecure World can perform arbitrary memory read/write operations on Secure World memory. This involves a v cycle. | High 7.8 | 7 Dec 2021 |
| CVE-2021-36133 | The OPTEE-OS CSU driver for NXP i.MX SoC devices lacks security access configuration for several models, resulting in TrustZone bypass because the NonSecure World can perform arbitrary memory read/write operations on Secure World memory. This involves a DMA capable peripheral. | High 7.1 | 7 Dec 2021 |
| CVE-2019-25052 | In Linaro OP-TEE before 3.7.0, by using inconsistent or malformed data, it is possible to call update and final cryptographic functions directly, causing a crash that could leak sensitive information. | Critical 9.1 | 11 Aug 2021 |
| CVE-2021-27562 | In Arm Trusted Firmware M through 1.2, the NS world may trigger a system halt, an overwrite of secure data, or the printing out of secure data when calling secure functions under the NSPE handler mode. | Medium 5.5 | 25 May 2021 |
| CVE-2021-32032 | In Trusted Firmware-M through 1.3.0, cleaning up the memory allocated for a multi-part cryptographic operation (in the event of a failure) can prevent the abort() operation in the associated cryptographic library from freeing internal resources, causing a memory leak. | High 7.5 | 21 May 2021 |
Original policy
Copied from sorona.xyz on 12 Nov 2026. The summaries on this page are made from it; the live page may have changed since.
Skip to content What this pays sorona.xyz pays 1.25× the program's reward, up to +$1,000 per finding, plus a complexity bonus of up to $1,000 for especially complex or well-chained bugs. Finding │ Program pays │ Through sorona.xyz Critical (CVSS 9.0 - 10.0) │ $20,000 │ $21,000 High (CVSS 7.0 - 8.9) │ $10,000 │ $11,000 Medium (CVSS 4.0 - 6.9) │ $3,000 │ $3,750 Low (CVSS 0.1 - 3.9) │ $1,000 │ $1,250 Submit a vulnerability CVE history 1 Last 12 months 9 Lifetime Access control 30 % Memory safety 30 % Parsing/validation 20 % Info disclosure 15 % Latest advisories Loading the feed Overview Trusted Firmware-M implements the Secure Processing Environment for Armv8-M and Armv8.1-M parts, the Cortex-M23/M33/M55/M85 generation that has become the default for new IoT and industrial microcontroller designs, and it is the PSA Certified reference implementation, so anything chasing PSA Certified Level 1, 2 or 3 on an Armv8-M part is very likely running TF-M or a vendor fork of it. It ships inside silicon-vendor SDKs from Nordic, STMicroelectronics, NXP, Infineon, Renesas, Microchip and Silicon Labs, and it is the SPE that Zephyr builds against on TrustZone-M targets, which puts it inside smart meters, medical wearables, industrial sensors, building controls, automotive body-domain MCUs and the secure elements of consumer IoT. Nine numbered TFMV advisories have been published against it, one in the last twelve months. Arm Limited pays it on the Intigriti Trusted Firmware program, where every in-scope project shares one bounty tier running from $1,000 to $20,000 for anything scoring CVSS 9.0 or above, and because all four assets are open source that top band is reachable from the repository itself. sorona.xyz adds 1.25× on top of whatever Arm awards, up to $1,000 more, plus a complexity bonus of up to $1,000 for a well-chained finding. In scope Arm's program names four Trusted Firmware projects and takes reports on all of them: TF-A, TF-M, OP-TEE and TF-PSA-Crypto. The asset record describes TF-M as the Secure Processing Environment for Armv8-M and Armv8.1-M parts and for dual-core platforms, and reports run against the main branch or a currently supported LTS branch The Secure Processing Environment as a whole: the Secure Partition Manager, partition scheduling, the isolation levels TF-M implements, and its own secure boot stage and image validation The SPE and NSPE interface: secure function veneer entry points, the non-secure callable region, the PSA client API and the IPC model behind it PSA Secure Storage in both forms, Internal Trusted Storage and Protected Storage, along with the crypto binding and the filesystem layer beneath them The PSA Crypto service, its key store, and key-identifier ownership across partitions The PSA Firmware Update partition, its image validation and its manifest parsing The Initial Attestation service and token generation Mailbox and inter-processor message handling on dual-core platforms Arm-owned platform code under /platform/ext/target/arm/* and the common platform layer above it Out of scope Non-Arm silicon ports: code in the /platform/ext/target/* directory other than /platform/ext/target/arm/* is out, which removes the vendor board support most real TF-M deployments actually ship Experimental, test and example code, along with support tooling, none of which counts as intended for production deployment Attacks outside the project's threat model, and physical or glitching attacks against the part itself Vulnerabilities in modifications or customisations that do not exist in the official Trusted Firmware repositories, including the vendor forks bundled into silicon SDKs Compliance-only, hardening-only and missing-zeroization findings, which Arm states plainly are not in scope Trusted Firmware projects the program does not list, which go to the Trusted Firmware incident handling process, and Trusted Firmware's web estate, which Linaro handles under its own disclosure process Unvalidated LLM output, which the program closes on sight, and reports asserting that software is out of date without a proof-of-concept Findings Arm already knew about from its own testing, closed as duplicates, and zero-days reported within 14 days of a public patch, which are usually not paid Most-valued findings A break in the SPE and NSPE boundary that gives non-secure code read or write access to secure memory or to a secure service it should not reach, the CVSS 9-plus shape that pays $20,000 Key-identifier confusion in the PSA Crypto service that lets one partition use or extract another partition's keys. Access control is the joint-largest class in the TFMV record at 30% Memory corruption in a secure function veneer entry point or in IPC and mailbox message handling, where a non-secure caller controls a pointer or a length crossing the boundary A Protected Storage or Internal Trusted Storage flaw that exposes one partition's data to another, or defeats the storage protection entirely Firmware Update accepting an image whose manifest or signature validation should have failed, giving persistent secure-world code execution Attestation token generation that can be driven to report a device state that is not real, breaking the trust downstream services place in it Program rules Submit through sorona.xyz first. We validate, coordinate with the program's security team, and add the payout uplift on top of whatever it awards. A proof-of-concept demonstrating a full exploit chain on a supported platform is required, using existing supported platform code rather than a board port you wrote yourself The bug has to reproduce for Arm on either the main branch or a currently supported LTS branch, in code intended for production deployment Unvalidated LLM or AI output is closed, as are reports that assert software is out of date without a proof-of-concept Zero-days found within 14 days of the public release of a patch or mitigation may be reported but are usually not eligible for a bounty Reporters must be 18 or over, must clear sanctions screening, and must not be employed by a Trusted Firmware member company Disclosure Coordinated through Arm PSIRT and the TrustedFirmware.org security team, which publish a numbered TF-M advisory (TFMV-n) once a fix has shipped and downstream silicon vendors have had a chance to pick it up. Arm's terms forbid discussing or disclosing vulnerability information, including proof-of-concept videos, without prior written consent, so publication timing is Arm's call. sorona.xyz holds your finding until the advisory is out. Safe harbor Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf. You are responsible for understanding and following the laws that apply to you, wherever you are, and for staying within any scope the project has defined. Submit a vulnerability