Loading market data...

Coldcard Firmware Bug Exposed $130M in Crypto, Forcing Mass Wallet Migration

Coldcard Firmware Bug Exposed $130M in Crypto, Forcing Mass Wallet Migration

,

tags. We'll translate the content inside. Let's do it step by step. Title: "Coldcard Firmware Bug Exposed $130M in Crypto, Forcing Mass Wallet Migration" -> "কোল্ডকার্ড ফার্মওয়্যার বাগে ক্রিপ্টোতে ১৩০ মিলিয়ন ডলার উন্মোচিত, বাধ্যতামূলক ওয়ালেট মাইগ্রেশন" but we need to be natural. Maybe: "কোল্ডকার্ড ফার্মওয়্যারের ত্রুটিতে ১৩০ মিলিয়ন ডলারের ক্রিপ্টো হুমকির মুখে, ব্যাপক ওয়ালেট স্থানান্তর" but we need to keep meaning. Let's do: "কোল্ডকার্ড ফার্মওয়্যার বাগে ১৩০ মিলিয়ন ডলারের ক্রিপ্টো উন্মোচিত, বাধ্যতামূলক ওয়ালেট মাইগ্রেশন" but "উন্মোচিত" means exposed, but here it's more like "leaked" or "compromised". Actually "Exposed" means the vulnerability exposed the funds to theft. So maybe "কোল্ডকার্ড ফার্মওয়্যার ত্রুটিতে ১৩০ মিলিয়ন ডলারের ক্রিপ্টো ঝুঁকিতে, ব্যাপক ওয়ালেট স্থানান্তর" but we need to keep "Forcing" - so "বাধ্যতামূলক" is fine. Let's craft: "কোল্ডকার্ড ফার্মওয়্যার বাগে ১৩০ মিলিয়ন ডলারের ক্রিপ্টো হুমকির মুখে, বাধ্যতামূলক ওয়ালেট স্থানান্তর" but "হুমকির মুখে" means at risk. Actually the original says "Exposed $130M in Crypto" meaning the bug exposed that amount to theft. So we can say "কোল্ডকার্ড ফার্মওয়্যার বাগে ১৩০ মিলিয়ন ডলারের ক্রিপ্টো চুরির ঝুঁকি, বাধ্যতামূলক ওয়ালেট স্থানান্তর" but that's not exact. Let's do: "কোল্ডকার্ড ফার্মওয়্যার ত্রুটিতে ১৩০ মিলিয়ন ডলারের ক্রিপ্টো উন্মোচিত, বাধ্যতামূলক ওয়ালেট স্থানান্তর" - "উন্মোচিত" means exposed, but it's okay. Alternatively: "কোল্ডকার্ড ফার্মওয়্যার বাগে ১৩০ মিলিয়ন ডলারের ক্রিপ্টো ক্ষতিগ্রস্ত, বাধ্যতামূলক ওয়ালেট স্থানান্তর" but "ক্ষতিগ্রস্ত" means damaged. I think "উন্মোচিত" is fine. Let's go with: "কোল্ডকার্ড ফার্মওয়্যার বাগে ১৩০ মিলিয়ন ডলারের ক্রিপ্টো উন্মোচিত, বাধ্যতামূলক ওয়ালেট স্থানান্তর" but we need to keep "Forcing" - so "বাধ্যতামূলক" is good. But we can also say "কোল্ডকার্ড ফার্মওয়্যার ত্রুটিতে ১৩০ মিলিয়ন ডলারের ক্রিপ্টো ঝুঁকিতে, ব্যাপক ওয়ালেট স্থানান্তর" - but "ঝুঁকিতে" means at risk. Actually the original says "Exposed" meaning the bug exposed the funds to attackers, so it's like "made vulnerable". So "ঝুঁকিতে" is okay. But we need to be precise. Let's do: "কোল্ডকার্ড ফার্মওয়্যার বাগে ১৩০ মিলিয়ন ডলারের ক্রিপ্টো চুরির ঝুঁকি, বাধ্যতামূলক ওয়ালেট স্থানান্তর" - but that's a bit long. I'll go with: "কোল্ডকার্ড ফার্মওয়্যার বাগে ১৩০ মিলিয়ন ডলারের ক্রিপ্টো উন্মোচিত, বাধ্যতামূলক ওয়ালেট স্থানান্তর" - it's fine. Now content: We'll translate each paragraph. First paragraph: "A years-old firmware flaw in Coldcard hardware wallets allowed attackers to drain roughly $130 million in cryptocurrency by exploiting weak random-number generation. The bug, which went undetected from 2021 until its disclosure in July 2026, affected devices running firmware versions 4.0.1 through 4.1.9 on Mk2 and Mk3 models. Users who generated their seed phrases during that window must create entirely new wallets and move their funds — simply importing the old phrase into another wallet won't fix the underlying weakness." Translation: "কোল্ডকার্ড হার্ডওয়্যার ওয়ালেটে বছরের পুরনো একটি ফার্মওয়্যার ত্রুটি দুর্বল র্যান্ডম-নম্বর জেনারেশন কাজে লাগিয়ে আক্রমণকারীদের প্রায় ১৩০ মিলিয়ন ডলারের ক্রিপ্টোকারেন্সি হাতিয়ে নিতে দিয়েছে। ২০২১ থেকে ২০২৬ সালের জুলাইয়ে প্রকাশের আগ পর্যন্ত অজ্ঞাত থাকা এই বাগটি Mk2 এবং Mk3 মডেলের 4.0.1 থেকে 4.1.9 ফার্মওয়্যার সংস্করণে চলমান ডিভাইসগুলিকে প্রভাবিত করেছিল। সেই সময়ের মধ্যে যারা তাদের সিড ফ্রেজ তৈরি করেছেন তাদের অবশ্যই সম্পূর্ণ নতুন ওয়ালেট তৈরি করতে হবে এবং তাদের তহবিল স্থানান্তর করতে হবে — পুরনো ফ্রেজটি অন্য ওয়ালেটে আমদানি করলে অন্তর্নিহিত দুর্বলতা ঠিক হবে না।" We need to keep "roughly" as "প্রায়". "drain" as "হাতিয়ে নেওয়া" or "চুরি করা". "weak random-number generation" as "দুর্বল র্যান্ডম-নম্বর জেনারেশন". "went undetected" as "অজ্ঞাত ছিল". "disclosure" as "প্রকাশ". "affected" as "প্রভাবিত করেছিল". "generated their seed phrases" as "তাদের সিড ফ্রেজ তৈরি করেছেন". "create entirely new wallets" as "সম্পূর্ণ নতুন ওয়ালেট তৈরি করতে হবে". "move their funds" as "তাদের তহবিল স্থানান্তর করতে হবে". "simply importing the old phrase into another wallet won't fix the underlying weakness" as "পুরনো ফ্রেজটি অন্য ওয়ালেটে আমদানি করলে অন্তর্নিহিত দুর্বলতা ঠিক হবে না" - good. Second paragraph: "How the attack worked" -> "আক্রমণ কীভাবে কাজ করেছিল" as h2. Then: "The vulnerability stemmed from a fallback in the random-number generator. When the STM32 hardware source failed, the firmware defaulted to MicroPython's deterministic Yasmarang algorithm, which produces a much smaller set of possible seeds. Attackers could reconstruct private keys by searching that limited output space. The Mk4, Q, and Mk5 models were less severely affected — they generated seeds with about 68 bits of entropy instead of the specified 128 bits — but still fell short of the security standard." Translation: "দুর্বলতাটি র্যান্ডম-নম্বর জেনারেটরের একটি ফলব্যাক থেকে উদ্ভূত হয়েছিল। যখন STM32 হার্ডওয়্যার উৎস ব্যর্থ হয়, ফার্মওয়্যারটি MicroPython-এর ডিটারমিনিস্টিক Yasmar