Repository navigation
chore: versioning alignment #194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
c88ac55
b69f244
d68e656
9b96863
66f01e0
e18921a
4bdf952
3fed138
5726581
d0a18c6
a0873d5
1a72a86
3809e07
e31d104
d27bc73
a09c4e0
8ea42d9
aa4b525
be78619
821a05a
ec54647
dcdeade
3033891
3df71ec
8fd3db2
b24a127
0ff0af8
a15c1ba
185d45e
09e54e7
3b5bb15
512bf8f
e60b62d
457c80f
dae8799
b9945cb
37f3133
2d82f7c
cafd4b4
d0f0e59
92451ce
64e54f9
fe06281
cc44ebd
73b8ed0
0fba10a
04bd113
7ade24b
ac5e649
8d691cc
1588010
05592e9
21399fc
8823657
6a09be8
2d2917f
e22aba0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,16 +1,16 @@ | ||
| * @fireblocks-solutions-engineering | ||
|
|
||
| # Recovery Utility | ||
| packages/recovery-utility/ @fireblocks-solutions-engineering @Burry @gburry-fireblocks | ||
| packages/recovery-utility/ @fireblocks-solutions-engineering @slava23 @nadav14 @costyb | ||
|
|
||
| # Recovery Relay | ||
| packages/recovery-relay/ @fireblocks-solutions-engineering @Burry @gburry-fireblocks | ||
| packages/recovery-relay/ @fireblocks-solutions-engineering @slava23 @nadav14 @costyb | ||
|
|
||
| # Shared frontend components and utilities | ||
| packages/shared/ @fireblocks-solutions-engineering @Burry @gburry-fireblocks | ||
| packages/shared/ @fireblocks-solutions-engineering @slava23 @nadav14 @costyb | ||
|
|
||
| # Extended Key Recovery module | ||
| packages/extended-key-recovery/ @fireblocks-solutions-engineering @agoltzman | ||
| packages/extended-key-recovery/ @fireblocks-solutions-engineering @slava23 @nadav14 @costyb | ||
|
|
||
| # Wallet Derivation helpers | ||
| packages/wallet-derivation/ @fireblocks-solutions-engineering @Burry @gburry-fireblocks | ||
| packages/wallet-derivation/ @fireblocks-solutions-engineering @slava23 @nadav14 @costyb |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -37,11 +37,12 @@ const recoverKeysShares = ( | |
| mobilePass: string, | ||
| rsaFileData: string, | ||
| rsaPass: string, | ||
| onLog?: (message: string) => void, | ||
| ): PlayerData => { | ||
| const players: PlayerData = {}; | ||
| for (const file of zipFiles) { | ||
| if (file.entryName.startsWith('MOBILE')) { | ||
| const { keyId, playerId, value } = recoverMobileKeyShare(signingKeys, file.getData().toString(), mobilePass); | ||
| const { keyId, playerId, value } = recoverMobileKeyShare(signingKeys, file.getData().toString(), mobilePass, onLog); | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Fix: Upgrade this library to at least version 0.6.0 at recovery/yarn.lock:5131.
🍰 Fixed in commit 6a09be8 🍰 |
||
| if (players[keyId] === undefined) { | ||
| players[keyId] = {}; | ||
| } | ||
|
|
@@ -174,7 +175,7 @@ export const recoverKeys = (params: KeyRecoveryConfig): RecoveredKeys => { | |
| return { ncwWalletMaster: walletMaster }; | ||
| } | ||
|
|
||
| const players: PlayerData = recoverKeysShares(zipFiles, signingKeys, mobilePass, rsaFileData, params.rsaPass); | ||
| const players: PlayerData = recoverKeysShares(zipFiles, signingKeys, mobilePass, rsaFileData, params.rsaPass, params.onLog); | ||
|
|
||
| for (const keyId in signingKeys) { | ||
| if (!Object.keys(players).includes(keyId)) { | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Risk: Affected versions of adm-zip are vulnerable to Memory Allocation with Excessive Size Value. adm-zip allocates a ZIP entry's output buffer withBuffer.alloc()sized from the uncompressed size declared in the archive's central directory, before validating that value against the data actually present. Reading, testing, or extracting a crafted archive viareadFile(),readFileAsync(),readAsText(),readAsTextAsync(),extractEntryTo(),extractAllTo(),extractAllToAsync(),test(), or a per-entrygetData()/getDataAsync()therefore commits the attacker-declared allocation before any CRC or size check runs. A 105-byte ZIP with a single stored entry declaring a size of 1,774,399,200 commits roughly 1.8 GB of resident memory — about 16 million times the input size — which can exhaust process memory and deny service, and will OOM-kill the process outright on memory-constrained hosts such as containers or serverless runtimes.Fix: Upgrade this library to at least version 0.6.1 at recovery/yarn.lock:5131.
Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-83170, GHSA-7q85-xj36-vmfc🌟 Fixed in commit 6a09be8 🌟