What changed, and why it matters
This commit is a documentation-only changelog update for Trezor firmware version 2.9.7. It lists several changes, most notably a security fix for a 'side-channel vulnerability in BIP-39 mnemonic processing.' A side-channel attack is a technique where an attacker infers secret information (like a recovery seed) by observing physical signals such as power consumption, timing, or electromagnetic emissions during cryptographic operations. Because this commit only updates changelogs and does not include the actual code fix, we cannot independently verify the vulnerability's severity or exploitation details from the diff alone. The vendor explicitly labels it as a security issue.
Treat firmware 2.9.7 as a security update and encourage users to upgrade once released. For a full assessment, review the actual code changes that fixed the BIP-39 side-channel vulnerability (likely associated with issue/PR #200 or the deleted core/.changelog.d/200.security fragment). Monitor Trezor's security advisories and release notes for additional technical disclosure or CVE assignment.
Security signals we found
Vendor-authored changelog entry explicitly classifies a fix as 'Security' and describes it as a side-channel vulnerability in BIP-39 mnemonic processing.
BIP-39 mnemonic processing is a high-value target because it directly protects the wallet seed/recovery phrase.
Side-channel vulnerabilities in seed handling can potentially allow physical attackers to recover secrets, but no details on the specific leak (timing, power, EM, fault) are provided.
The actual code change is not in this commit; only the release notes are updated.
Evidence from the diff
The commit 7b5acc88298a690d95931aee8977f40fcbd4e3ec is a cherry-pick of a changelog aggregation commit (578c30a7e38b60a5e440ec864375c0ac10322fa7). It deletes fragment files from core/.changelog.d/ and inserts their contents into the per-device and aggregate CHANGELOG markdown files for firmware release 2.9.7. The only security-relevant entry is ‘Fixed side-channel vulnerability in BIP-39 mnemonic processing.’ (fragment 200.security). No source code, patch, or technical details of the side-channel fix are present in the diff. Other entries describe UI, translation, FIDO, Tropic secure-element, and version-string changes.
Changed components
Trezor Core firmware changelog/release notesBIP-39 mnemonic processing implementation (referenced but not changed in this commit)Affected device families per changelog: T2B1, T2T1, T3B1, T3T1, T3W1Inspect captured patch +176 / −9
diff --git a/core/.changelog.d/200.security b/core/.changelog.d/200.security
deleted file mode 100644
index bfde3544..00000000
--- a/core/.changelog.d/200.security
+++ /dev/null
@@ -1 +0,0 @@
-Fixed side-channel vulnerability in BIP-39 mnemonic processing.
diff --git a/core/.changelog.d/6104.added b/core/.changelog.d/6104.added
deleted file mode 100644
index 56b5da3e..00000000
--- a/core/.changelog.d/6104.added
+++ /dev/null
@@ -1 +0,0 @@
-[T3W1] Reset Tropic and retry command when alarm mode is detected.
diff --git a/core/.changelog.d/6136.added b/core/.changelog.d/6136.added
deleted file mode 100644
index 5b512cda..00000000
--- a/core/.changelog.d/6136.added
+++ /dev/null
@@ -1 +0,0 @@
-[T3W1] Introduce wear leveling of mac-and-destroy slots in Tropic.
diff --git a/core/.changelog.d/6225.added b/core/.changelog.d/6225.added
deleted file mode 100644
index dde50494..00000000
--- a/core/.changelog.d/6225.added
+++ /dev/null
@@ -1 +0,0 @@
-Added version build number to Features message.
diff --git a/core/.changelog.d/6228.fixed b/core/.changelog.d/6228.fixed
deleted file mode 100644
index 1a0141d5..00000000
--- a/core/.changelog.d/6228.fixed
+++ /dev/null
@@ -1 +0,0 @@
-Allow loading translations with different BUILD_VERSION.
diff --git a/core/.changelog.d/6236.fixed b/core/.changelog.d/6236.fixed
deleted file mode 100644
index 18fb7f54..00000000
--- a/core/.changelog.d/6236.fixed
+++ /dev/null
@@ -1 +0,0 @@
-[T2T1] Fixed FIDO credentials scrolling.
diff --git a/core/.changelog.d/6257.fixed b/core/.changelog.d/6257.fixed
deleted file mode 100644
index b554448b..00000000
--- a/core/.changelog.d/6257.fixed
+++ /dev/null
@@ -1 +0,0 @@
-[T3W1] Change bootscreen homebar text to 'Unlock'.
diff --git a/core/.changelog.d/6279.fixed b/core/.changelog.d/6279.fixed
deleted file mode 100644
index d62ad2c6..00000000
--- a/core/.changelog.d/6279.fixed
+++ /dev/null
@@ -1 +0,0 @@
-[T2T1,T2B1,T3B1,T3W1] Fixed address chunkification in certain cases.
diff --git a/core/.changelog.d/6281.changed b/core/.changelog.d/6281.changed
deleted file mode 100644
index 3d83b826..00000000
--- a/core/.changelog.d/6281.changed
+++ /dev/null
@@ -1 +0,0 @@
-[T3W1] Update Regulatory screen in the device menu.
diff --git a/core/CHANGELOG.T2B1.md b/core/CHANGELOG.T2B1.md
index a0232e2a..4e73cfae 100644
--- a/core/CHANGELOG.T2B1.md
+++ b/core/CHANGELOG.T2B1.md
@@ -4,8 +4,27 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
+## [2.9.7] (21st January 2026)
+
+### Added
+- Added version build number to Features message. [#6225]
+
+### Changed
+
+### Fixed
+- Allow loading translations with different BUILD_VERSION. [#6228]
+- Fixed address chunkification in certain cases. [#6279]
+
+### Security
+- Fixed side-channel vulnerability in BIP-39 mnemonic processing.
+
## [2.9.6] (internal release)
+### Fixed
+- Fixed Stellar Amount and Bitcoin lock time font. [#6109]
+- Make sure to increment THP `seq_bit`. [#6138]
+- Fixed external tamper trigger clearing. [#6186]
+
## [2.9.5] (internal release)
### Fixed
@@ -1226,4 +1245,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
[#6076]: https://github.com/trezor/trezor-firmware/pull/6076
[#6096]: https://github.com/trezor/trezor-firmware/pull/6096
[#6100]: https://github.com/trezor/trezor-firmware/pull/6100
+[#6104]: https://github.com/trezor/trezor-firmware/pull/6104
+[#6109]: https://github.com/trezor/trezor-firmware/pull/6109
+[#6136]: https://github.com/trezor/trezor-firmware/pull/6136
+[#6138]: https://github.com/trezor/trezor-firmware/pull/6138
+[#6145]: https://github.com/trezor/trezor-firmware/pull/6145
[#6165]: https://github.com/trezor/trezor-firmware/pull/6165
+[#6186]: https://github.com/trezor/trezor-firmware/pull/6186
+[#6225]: https://github.com/trezor/trezor-firmware/pull/6225
+[#6228]: https://github.com/trezor/trezor-firmware/pull/6228
+[#6236]: https://github.com/trezor/trezor-firmware/pull/6236
+[#6257]: https://github.com/trezor/trezor-firmware/pull/6257
+[#6279]: https://github.com/trezor/trezor-firmware/pull/6279
+[#6281]: https://github.com/trezor/trezor-firmware/pull/6281
diff --git a/core/CHANGELOG.T2T1.md b/core/CHANGELOG.T2T1.md
index 851632bd..05950665 100644
--- a/core/CHANGELOG.T2T1.md
+++ b/core/CHANGELOG.T2T1.md
@@ -4,8 +4,28 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
+## [2.9.7] (21st January 2026)
+
+### Added
+- Added version build number to Features message. [#6225]
+
+### Changed
+
+### Fixed
+- Allow loading translations with different BUILD_VERSION. [#6228]
+- Fixed FIDO credentials scrolling. [#6236]
+- Fixed address chunkification in certain cases. [#6279]
+
+### Security
+- Fixed side-channel vulnerability in BIP-39 mnemonic processing.
+
## [2.9.6] (internal release)
+### Fixed
+- Fixed Stellar Amount and Bitcoin lock time font. [#6109]
+- Make sure to increment THP `seq_bit`. [#6138]
+- Fixed external tamper trigger clearing. [#6186]
+
## [2.9.5] (internal release)
### Fixed
@@ -1223,4 +1243,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
[#6076]: https://github.com/trezor/trezor-firmware/pull/6076
[#6096]: https://github.com/trezor/trezor-firmware/pull/6096
[#6100]: https://github.com/trezor/trezor-firmware/pull/6100
+[#6104]: https://github.com/trezor/trezor-firmware/pull/6104
+[#6109]: https://github.com/trezor/trezor-firmware/pull/6109
+[#6136]: https://github.com/trezor/trezor-firmware/pull/6136
+[#6138]: https://github.com/trezor/trezor-firmware/pull/6138
+[#6145]: https://github.com/trezor/trezor-firmware/pull/6145
[#6165]: https://github.com/trezor/trezor-firmware/pull/6165
+[#6186]: https://github.com/trezor/trezor-firmware/pull/6186
+[#6225]: https://github.com/trezor/trezor-firmware/pull/6225
+[#6228]: https://github.com/trezor/trezor-firmware/pull/6228
+[#6236]: https://github.com/trezor/trezor-firmware/pull/6236
+[#6257]: https://github.com/trezor/trezor-firmware/pull/6257
+[#6279]: https://github.com/trezor/trezor-firmware/pull/6279
+[#6281]: https://github.com/trezor/trezor-firmware/pull/6281
diff --git a/core/CHANGELOG.T3B1.md b/core/CHANGELOG.T3B1.md
index a812cbf9..1951e2a4 100644
--- a/core/CHANGELOG.T3B1.md
+++ b/core/CHANGELOG.T3B1.md
@@ -4,8 +4,27 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
+## [2.9.7] (21st January 2026)
+
+### Added
+- Added version build number to Features message. [#6225]
+
+### Changed
+
+### Fixed
+- Allow loading translations with different BUILD_VERSION. [#6228]
+- Fixed address chunkification in certain cases. [#6279]
+
+### Security
+- Fixed side-channel vulnerability in BIP-39 mnemonic processing. [#200]
+
## [2.9.6] (internal release)
+### Fixed
+- Fixed Stellar Amount and Bitcoin lock time font. [#6109]
+- Make sure to increment THP `seq_bit`. [#6138]
+- Fixed external tamper trigger clearing. [#6186]
+
## [2.9.5] (internal release)
### Fixed
@@ -1219,4 +1238,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
[#6076]: https://github.com/trezor/trezor-firmware/pull/6076
[#6096]: https://github.com/trezor/trezor-firmware/pull/6096
[#6100]: https://github.com/trezor/trezor-firmware/pull/6100
+[#6104]: https://github.com/trezor/trezor-firmware/pull/6104
+[#6109]: https://github.com/trezor/trezor-firmware/pull/6109
+[#6136]: https://github.com/trezor/trezor-firmware/pull/6136
+[#6138]: https://github.com/trezor/trezor-firmware/pull/6138
+[#6145]: https://github.com/trezor/trezor-firmware/pull/6145
[#6165]: https://github.com/trezor/trezor-firmware/pull/6165
+[#6186]: https://github.com/trezor/trezor-firmware/pull/6186
+[#6225]: https://github.com/trezor/trezor-firmware/pull/6225
+[#6228]: https://github.com/trezor/trezor-firmware/pull/6228
+[#6236]: https://github.com/trezor/trezor-firmware/pull/6236
+[#6257]: https://github.com/trezor/trezor-firmware/pull/6257
+[#6279]: https://github.com/trezor/trezor-firmware/pull/6279
+[#6281]: https://github.com/trezor/trezor-firmware/pull/6281
diff --git a/core/CHANGELOG.T3T1.md b/core/CHANGELOG.T3T1.md
index 2d8e6c0c..934b088b 100644
--- a/core/CHANGELOG.T3T1.md
+++ b/core/CHANGELOG.T3T1.md
@@ -4,8 +4,26 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
+## [2.9.7] (21st January 2026)
+
+### Added
+- Added version build number to Features message. [#6225]
+
+### Changed
+
+### Fixed
+- Allow loading translations with different BUILD_VERSION. [#6228]
+
+### Security
+- Fixed side-channel vulnerability in BIP-39 mnemonic processing.
+
## [2.9.6] (internal release)
+### Fixed
+- Fixed Stellar Amount and Bitcoin lock time font. [#6109]
+- Make sure to increment THP `seq_bit`. [#6138]
+- Fixed external tamper trigger clearing. [#6186]
+
## [2.9.5] (internal release)
### Fixed
@@ -1267,4 +1285,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
[#6076]: https://github.com/trezor/trezor-firmware/pull/6076
[#6096]: https://github.com/trezor/trezor-firmware/pull/6096
[#6100]: https://github.com/trezor/trezor-firmware/pull/6100
+[#6104]: https://github.com/trezor/trezor-firmware/pull/6104
+[#6109]: https://github.com/trezor/trezor-firmware/pull/6109
+[#6136]: https://github.com/trezor/trezor-firmware/pull/6136
+[#6138]: https://github.com/trezor/trezor-firmware/pull/6138
+[#6145]: https://github.com/trezor/trezor-firmware/pull/6145
[#6165]: https://github.com/trezor/trezor-firmware/pull/6165
+[#6186]: https://github.com/trezor/trezor-firmware/pull/6186
+[#6225]: https://github.com/trezor/trezor-firmware/pull/6225
+[#6228]: https://github.com/trezor/trezor-firmware/pull/6228
+[#6236]: https://github.com/trezor/trezor-firmware/pull/6236
+[#6257]: https://github.com/trezor/trezor-firmware/pull/6257
+[#6279]: https://github.com/trezor/trezor-firmware/pull/6279
+[#6281]: https://github.com/trezor/trezor-firmware/pull/6281
diff --git a/core/CHANGELOG.T3W1.md b/core/CHANGELOG.T3W1.md
index 289c3ccc..93d1f6f0 100644
--- a/core/CHANGELOG.T3W1.md
+++ b/core/CHANGELOG.T3W1.md
@@ -4,6 +4,24 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
+## [2.9.7] (21st January 2026)
+
+### Added
+- Reset Tropic and retry command when alarm mode is detected. [#6104]
+- Introduce wear leveling of mac-and-destroy slots in Tropic. [#6136]
+- Added version build number to Features message. [#6225]
+
+### Changed
+- Update Regulatory screen in the device menu. [#6281]
+
+### Fixed
+- Allow loading translations with different BUILD_VERSION. [#6228]
+- Change bootscreen homebar text to 'Unlock'. [#6257]
+- Fixed address chunkification in certain cases. [#6279]
+
+### Security
+- Fixed side-channel vulnerability in BIP-39 mnemonic processing.
+
## [2.9.6] (10th December 2025)
### Fixed
@@ -83,8 +101,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
[#6076]: https://github.com/trezor/trezor-firmware/pull/6076
[#6096]: https://github.com/trezor/trezor-firmware/pull/6096
[#6100]: https://github.com/trezor/trezor-firmware/pull/6100
+[#6104]: https://github.com/trezor/trezor-firmware/pull/6104
[#6109]: https://github.com/trezor/trezor-firmware/pull/6109
+[#6136]: https://github.com/trezor/trezor-firmware/pull/6136
[#6138]: https://github.com/trezor/trezor-firmware/pull/6138
[#6145]: https://github.com/trezor/trezor-firmware/pull/6145
[#6165]: https://github.com/trezor/trezor-firmware/pull/6165
[#6186]: https://github.com/trezor/trezor-firmware/pull/6186
+[#6225]: https://github.com/trezor/trezor-firmware/pull/6225
+[#6228]: https://github.com/trezor/trezor-firmware/pull/6228
+[#6257]: https://github.com/trezor/trezor-firmware/pull/6257
+[#6279]: https://github.com/trezor/trezor-firmware/pull/6279
+[#6281]: https://github.com/trezor/trezor-firmware/pull/6281
diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md
index e705807d..3c935b99 100644
--- a/core/CHANGELOG.md
+++ b/core/CHANGELOG.md
@@ -4,6 +4,25 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
+## [2.9.7] (21st January 2026)
+
+### Added
+- [T3W1] Reset Tropic and retry command when alarm mode is detected. [#6104]
+- [T3W1] Introduce wear leveling of mac-and-destroy slots in Tropic. [#6136]
+- Added version build number to Features message. [#6225]
+
+### Changed
+- [T3W1] Update Regulatory screen in the device menu. [#6281]
+
+### Fixed
+- Allow loading translations with different BUILD_VERSION. [#6228]
+- [T2T1] Fixed FIDO credentials scrolling. [#6236]
+- [T3W1] Change bootscreen homebar text to 'Unlock'. [#6257]
+- [T2T1,T2B1,T3B1,T3W1] Fixed address chunkification in certain cases. [#6279]
+
+### Security
+- Fixed side-channel vulnerability in BIP-39 mnemonic processing.
+
## [2.9.6] (10th December 2025)
### Fixed
@@ -1332,8 +1351,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
[#6076]: https://github.com/trezor/trezor-firmware/pull/6076
[#6096]: https://github.com/trezor/trezor-firmware/pull/6096
[#6100]: https://github.com/trezor/trezor-firmware/pull/6100
+[#6104]: https://github.com/trezor/trezor-firmware/pull/6104
[#6109]: https://github.com/trezor/trezor-firmware/pull/6109
+[#6136]: https://github.com/trezor/trezor-firmware/pull/6136
[#6138]: https://github.com/trezor/trezor-firmware/pull/6138
[#6145]: https://github.com/trezor/trezor-firmware/pull/6145
[#6165]: https://github.com/trezor/trezor-firmware/pull/6165
[#6186]: https://github.com/trezor/trezor-firmware/pull/6186
+[#6225]: https://github.com/trezor/trezor-firmware/pull/6225
+[#6228]: https://github.com/trezor/trezor-firmware/pull/6228
+[#6236]: https://github.com/trezor/trezor-firmware/pull/6236
+[#6257]: https://github.com/trezor/trezor-firmware/pull/6257
+[#6279]: https://github.com/trezor/trezor-firmware/pull/6279
+[#6281]: https://github.com/trezor/trezor-firmware/pull/6281
Why this scored 76/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.