This Week In Security: That Time I Caused A 9.5 CVE, IOS Spyware, And The Day The Internet Went Down

Meshtastic just released an eye-watering 9.5 CVSS CVE, warning about public/private keys being re-used among devices. And I’m the one that wrote the code. Not to mention, I triaged and fixed it. And I’m part of Meshtastic Solutions, the company associated with the project. This is is the story of how we got here, and a bit of perspective.

First things first, what kind of keys are we talking about, and what does Meshtastic use them for? These are X25519 keys, used specifically for encrypting and authenticating Direct Messages (DMs), as well as optionally for authorizing remote administration actions. It is, by the way, this remote administration scenario using a compromised key, that leads to such a high CVSS rating. Before version 2.5 of Meshtastic, the only cryptography in place was simple AES-CTR encryption using shared symmetric keys, still in use for multi-user channels. The problem was that DMs were also encrypted with this channel key, and just sent with the “to” field populated. Anyone with the channel key could read the DM.

I re-worked an old pull request that generated X25519 keys on boot, using the rweather/crypto library. This sentence highlights two separate problems, that both can lead to unintentional key re-use. First, the keys are generated at first boot. I was made painfully aware that this was a weakness, when a user sent an email to the project warning us that he had purchased two devices, and they had matching keys out of the box. When the vendor had manufactured this device, they flashed Meshtastic on one device, let it boot up once, and then use a debugger to copy off a “golden image” of the flash. Then every other device in that particular manufacturing run was flashed with this golden image — containing same private key. sigh

Continue reading “This Week In Security: That Time I Caused A 9.5 CVE, IOS Spyware, And The Day The Internet Went Down”

Spiral Connector Makes Fastener-Free Assemblies

[Anton Gaia]’s SPIRAL sculpture resembles an organizer or modern shelving unit, but what’s really interesting is how it goes together. It’s made entirely from assembling copies of a single component (two, if you count the short ‘end pieces’ as separate) without a fastener in sight. [Anton] made the 3D model available, so check it out for yourself!

The self-similar design of the joint, based on the golden spiral, makes a self-supporting joint that requires neither glue nor fasteners.

The ends of each part form a tight, spiral-shaped joint when assembled with its neighbors. Parts connect solely to themselves without any need of fasteners or adhesives.

The end result is secure, scalable, and with a harmonious structure that is very pleasing to look at. Small wonder [Anton] used it as the basis for artistic work. You can see more pictures here.

The design of the joint is based on the golden spiral (which it turns out is also a pretty useful chicken coop architecture.)

The parts lend themselves quite well to 3D printing, and we’d like to take a moment to appreciate that [Anton] shared the .step file instead of just an STL. STEP (or STP) files can be imported meaningfully into CAD programs, making it much easier to incorporate the design into one’s own work. STEP is also supported natively in many 3D printer slicers, so there’s no need to convert formats just to print them.

A brief video describing SPIRAL is embedded just below, with a closer look at how the pieces fit together.

Continue reading “Spiral Connector Makes Fastener-Free Assemblies”

Bento Is An All-In-One Computer Designed To Be Useful

All-in-one computers in which the mainboard lurked beneath a keyboard were once the default in home computing, but more recently they have been relegated to interesting niche devices such as the Raspberry Pi 400 and 500.

The Bento is another take on the idea, coming at it not with the aim of replacing a desktop machine, instead as a computer for use with wearable display glasses. The thinking goes that when your display is head mounted, why carry around a screen with your laptop.

On top it’s a keyboard, but underneath it’s a compartmentalized space similar to the Japanese lunchboxes which lend the project its name. The computing power comes courtesy of a Steam Deck so it has a USB-C-for-everything approach to plugging in a desktop, though there’s a stated goal to produce versions for other boards such as the Raspberry Pi. There’s even an empty compartment for storage of peripherals.

We like this computer, both for being a cyberdeck and for being without a screen so not quite like the other cyberdecks. It’s polished enough that we could almost imagine it as a commercial product. It’s certainly not the first Steam Deck based cyberdeck we’ve seen.