32784 Commits

Author SHA1 Message Date
Bence Szépkúti
895a4aaa61 Upgrade readthedocs builder to Ubuntu 26.04
The 20.04 runner is no longer supported.

Signed-off-by: Bence Szépkúti <bence.szepkuti@arm.com>
2026-06-24 16:51:12 +02:00
Gilles Peskine
609b299e1c
Merge pull request #10762 from Nadav0077/harden-serialized-load-3.6
Backport to 3.6: harden serialized data deserialization
2026-06-19 20:18:13 +00:00
Ronald Cron
b513676bed
Merge pull request #10772 from mpg/security-link-3.6
[3.6] Update broken link
2026-06-05 16:47:25 +00:00
Manuel Pégourié-Gonnard
70d619741b Update broken link
I believe the existing link was to the TF wiki which has been retired
for some time now.

Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2026-06-05 12:28:55 +02:00
Nadav0077
b0d5c0c80a
Harden serialized data deserialization
Reject malformed TLS 1.3 serialized sessions instead of accepting
unterminated strings or extra trailing data, and reject serialized SSL
contexts whose DTLS Connection ID length exceeds the maximum supported
size instead of overflowing the internal buffer.

Backport of #10715 (development). The dedicated CID-length test from
#10715 relies on test helpers that do not exist on 3.6 (notably
mbedtls_test_ssl_dtls_join_endpoints and mbedtls_test_ssl_perform_connection)
and is therefore omitted from this backport; the production fix and the
TLS 1.3 session-load tests are backported unchanged.

Signed-off-by: Nadav0077 <18245584+Nadav0077@users.noreply.github.com>
2026-05-22 13:16:58 +03:00
Gilles Peskine
2f2b202f8e
Merge pull request #10637 from yiwu0b11/destdir_install_env_support-3.6
Backport 3.6: tests: add CMake DESTDIR install coverage in components-build-system
2026-04-29 14:37:21 +00:00
Gilles Peskine
f1f1d414ed
Merge pull request #10202 from LoveKarlsson/iar-alignment-fix
[3.6] Fix alignment problems with IAR and Zephyr
2026-04-29 14:16:47 +00:00
Lars-Ove Karlsson
e7fd09246d Updated the url to the IAR technical note about unaligned access
To be the same link as in the tf-psa-crypto file.

Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@qt.io>
2026-04-29 12:16:35 +02:00
Lars-Ove Karlsson
05890c71c8 Added a changelog entry for IAR unalignment fix.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
2026-04-27 08:38:52 +02:00
Lars-Ove Karlsson
595b0b577b * [3.6] Fix alignment problems with IAR and Zephyr
Since __packed is a reserved keyword for IAR compilers, and
Zephyr defines it to attribute(__packed__), some typedef constructs
in mbedtls does not work with attribute(packed), only with the
keyword packed.

This fix temporary undefs the macro and restores it after the typedefs.

Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
2026-04-27 08:38:51 +02:00
Valerio Setti
9576d65f0f
Merge pull request #10692 from valeriosetti/backport-pr743
[backport 3.6] platform: fix -Wcast-align warnings in memory_buffer_alloc.c
2026-04-22 14:42:06 +00:00
Yi Wu
800e7f7928 test: remove tfpsacrypto checks in 3.6 DESTDIR install test
Signed-off-by: Yi Wu <yi.wu2@arm.com>
2026-04-20 17:06:39 +01:00
Yi Wu
3e8625c396 test: improve symlink checks
Signed-off-by: Yi Wu <yi.wu2@arm.com>
2026-04-20 11:07:39 +01:00
Yi Wu
50d85c11c5 test: versioned symlink order fix
Signed-off-by: Yi Wu <yi.wu2@arm.com>
2026-04-20 11:07:39 +01:00
Yi Wu
e7e329e70b test: reorder if-else structure
Signed-off-by: Yi Wu <yi.wu2@arm.com>
2026-04-20 11:07:39 +01:00
Yi Wu
033e44b4c4 test: add debug output and fix for win config
Signed-off-by: Yi Wu <yi.wu2@arm.com>
2026-04-20 11:07:39 +01:00
Yi Wu
a51dc8201c tests: fix DESTDIR install checks and add macOS compatibility
Signed-off-by: Yi Wu <yi.wu2@arm.com>
2026-04-20 11:07:39 +01:00
Yi Wu
909ba26843 Test: add symlinks and dangling link check
Signed-off-by: Yi Wu <yi.wu2@arm.com>
2026-04-20 11:07:39 +01:00
Yi Wu
c283582015 tests: add cmake DESTDIR install test
Signed-off-by: Yi Wu <yi.wu2@arm.com>
2026-04-20 11:07:16 +01:00
Ronald Cron
8e19a8e78e
Merge pull request #10702 from minosgalanakis/docs/3.6.6_changelog_fixes
ChangeLog 3.6: Fixed  references to TF-PSA-Crypto
2026-04-20 09:45:58 +00:00
Ronald Cron
7da1c560e3
Merge pull request #10674 from Maokaman1/fix/tls12-rsa-pss-sigalgs-3.6
Backport 3.6: ssl: accept TLS 1.2 rsa_pss_rsae signature algorithms
2026-04-20 08:03:56 +00:00
Viktor Sokolovskiy
2b2ac6e782 Pacify uncrustify
Signed-off-by: Viktor Sokolovskiy <maokaman@gmail.com>
2026-04-18 01:57:20 +03:00
Viktor Sokolovskiy
3833db7c7c ssl: narrow TLS 1.2 RSA-PSS handling and add interop coverage
Narrow TLS 1.2 RSA-PSS handling to the client ServerKeyExchange parse path and add OpenSSL and GnuTLS interoperability tests.

Signed-off-by: Viktor Sokolovskiy <maokaman@gmail.com>
2026-04-17 19:09:29 +03:00
Minos Galanakis
b4f4be1a60 Changelog: Fixed references to TF-PSA-Crypto
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com>
2026-04-17 15:48:03 +01:00
Gilles Peskine
1958093556
Merge pull request #10686 from gilles-peskine-arm/maintainer-scripts-create-directory-3.6
Backport 3.6: Create a directory for maintainer-only Python scripts
2026-04-15 08:19:27 +00:00
Gilles Peskine
3ff1783005
Merge pull request #10680 from gilles-peskine-arm/pake-init-gcc15-3.6
Backport 3.6: PAKE getters test failure with GCC 15
2026-04-15 08:18:28 +00:00
Mohamed Moawad
827b12d459 platform: fix -Wcast-align warnings in memory_buffer_alloc.c
Cast from 'unsigned char *' to 'memory_header *' through an
intermediate 'void *' to suppress -Wcast-align warnings.

Some Clang-based toolchains (e.g. MetaWare/ARC) enable -Wcast-align
as part of -Wall, unlike standard Clang on x86/ARM. Combined with
-Werror this turns the casts into fatal build errors.

The casts are already alignment-safe at runtime:
- In mbedtls_memory_buffer_alloc_init(), buf is explicitly aligned
  to MBEDTLS_MEMORY_ALIGN_MULTIPLE before the cast.
- In buffer_alloc_calloc(), p is computed from an aligned base plus
  aligned offsets (sizeof(memory_header) and len are both multiples
  of MBEDTLS_MEMORY_ALIGN_MULTIPLE).
- In buffer_alloc_free(), p is derived from a previously aligned
  allocation pointer minus the aligned header size.

Signed-off-by: Mohamed Moawad <moawad@synopsys.com>
2026-04-14 16:35:22 +02:00
Valerio Setti
6d403ad146
Merge pull request #10690 from valeriosetti/backport-pr1006
[Backport 3.6] Rename BEFORE_COLON/BC to avoid conflicts
2026-04-14 13:47:58 +00:00
Stefan Gloor
f20aecf116 fix: rename BEFORE_COLON and BC to avoid conflicts
Namespace BEFORE_COLON and BC defines by prepending MBEDTLS_
and expanding BC to BEFORE_COLON_STR. This is to avoid naming
conflicts with third-party code. No functional change.

Signed-off-by: Stefan Gloor <stefan.gloor@siemens.com>
2026-04-13 14:27:49 +02:00
Stefan Gloor
6d2afad395 fix: remove superfluous BEFORE_COLON in x509_crl.c
BEFORE_COLON and BC defines with the accompanying comment are only
required in x509_crt and x509_csr, but not used in x509_crl.c.

Signed-off-by: Stefan Gloor <stefan.gloor@siemens.com>
2026-04-13 14:27:49 +02:00
Gilles Peskine
4a62fdc25a
Merge pull request #10677 from gilles-peskine-arm/analyze_outcomes-uncovered-3.6
Outcome analysis: rename IGNORED_TESTS to UNCOVERED_TESTS
2026-04-10 14:51:40 +00:00
Gilles Peskine
4877c0838d Fix an infinite loop if cleanup fails in some tests
Don't call a macro that does `goto exit` on failure after the `exit:` label:
that would cause an infinite loop if something does go wrong.

Generally, cleanup functions don't error out, so it is unlikely to be a
problem in practice. If an error does happen during cleanup, it's probably
due to memory corruption caused by a bug that happened earlier, and that is
likely to have been detected in an earlier function. So we don't really need
to assert the return code of functions called during cleanup, and normally
we don't. Only a few places did so, wrongly.

I found the problematic places with
```
ag 'exit:[^}]*(PSA_ASSERT|TEST_ASSERT|TEST_EQUAL)' tests/suites/*.function
```

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2026-04-10 11:48:46 +02:00
Gilles Peskine
dd921414d3 Don't assert anything about uninitialized parts of structures
In a PAKE operation that has been initialized with `PSA_PAKE_OPERATION_INIT`
or `psa_pake_operation_init()`, the content of the driver-specific part is
indeterminate. It is actually all-bits-zero on most platforms, but not all,
e.g. not with GCC 15 or CompCert. So don't assert anything about it.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2026-04-10 11:39:09 +02:00
Gilles Peskine
9e7fe65b2c Create a directory for maintainer-only Python scripts
This directory is currently excluded from `check-python-files.sh`, because
we run it on the CI in an old Python version that doesn't support some of
our new maintainer scripts.

There are no such scripts in mbedtls for now (only in TF-PSA-Crypto), but be
ready if we want to add some.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2026-04-09 19:38:21 +02:00
Valerio Setti
f7350dc4ff
Merge pull request #10679 from valeriosetti/backport-pr723
[3.6] psa_crypto.c: Fix ifdefs to avoid build warning
2026-04-09 14:05:10 +00:00
Gilles Peskine
87eba69926
Merge pull request #10658 from gilles-peskine-arm/audit_validity_dates-move-to-framework-3.6-actually-remove-scripts
3.6 only: Move some scripts from mbedtls into the framework redux
2026-04-09 07:58:45 +00:00
Gilles Peskine
c3fe74f302 Use short initializers in PAKE tests
When initializing a PAKE operation structure, use an
auxiliary function that doesn't initialize union members to all-bits-zero.
Context: on most compilers, initializing a union to `{0}` initializes it to
all bits zero; but on some compilers, the trailing part of members other
than the first is left uninitialized. This way, we can run the tests on any
platform and validate that the code would work correctly on platforms where
union initialization is short, such as GCC 15.

This commit extends 93dd99571b46f012a462c7a2494ccfe9ec0603a1 to
`test_suite_psa_crypto_pake.function`.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2026-04-09 09:42:42 +02:00
Alberto Escolar Piedras
c30e6af2cc psa_crypto.c: Fix ifdefs to avoid build warning
Add a couple of missing ifdefs to avoid having unreachable code with
AT_LEAST_ONE_BUILTIN_KDF not defined, which otherwise causes a build
warning with clang.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-04-08 14:58:57 +02:00
Gilles Peskine
278dbecd97 Rename IGNORED_TESTS to UNCOVERED_TESTS
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2026-04-07 11:05:44 +02:00
Gilles Peskine
7b0cc09213 Update framework with UNCOVERED_TESTS in outcome analysis
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2026-04-07 11:05:01 +02:00
Viktor Sokolovskiy
c4738fab06 ssl: accept TLS 1.2 rsa_pss_rsae signature schemes
Signed-off-by: Viktor Sokolovskiy <maokaman@gmail.com>
(cherry picked from commit c064ba0edb86e44f3c1c8dcaf05b1139407eebd4)
2026-04-04 20:31:48 +03:00
David Horstmann
4eb967981f
Merge pull request #10667 from gilles-peskine-arm/security-md-mention-compiler-3.6
Backport 3.6: Mention compiler optimization in the threat model
2026-04-01 15:44:54 +00:00
Gilles Peskine
168ac78034 Be more specific about what compiler options we consider legitimate
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2026-04-01 10:08:29 +02:00
Gilles Peskine
778ea0af9b Mention the new advice about compiler options in the changelog
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2026-04-01 10:08:28 +02:00
Gilles Peskine
b937689ba6 Add a section about compiler-introduced timing side channels
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2026-04-01 10:08:28 +02:00
Minos Galanakis
629898bbba Revert "Added generated files"
This reverts commit 0bebf8b8c7f07abe3571ded48a11aa907a1ffb20.

Signed-off-by: Minos Galanakis <minos.galanakis@arm.com>
2026-03-31 15:37:10 +01:00
Minos Galanakis
2d3fdb6608 Merge tag 'mbedtls-3.6.6' into mbedtls-3.6.6_mergeback
Mbed TLS mbedtls-3.6.6

Signed-off-by: Minos Galanakis <minos.galanakis@arm.com>
2026-03-31 15:36:51 +01:00
Valerio Setti
0c9da91b4f
Merge pull request #10660 from krish2718/fix_unused_func
Fix unused function warning
2026-03-30 10:54:45 +00:00
Minos Galanakis
0bebf8b8c7 Added generated files
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com>
v3.6.6 mbedtls-3.6.6
2026-03-26 22:03:13 +00:00
Minos Galanakis
1baa5bba69 Update BRANCHES.md
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com>
2026-03-26 22:03:13 +00:00