Major Bug Grants Root For All Major Linux Distributions

One of the major reasons behind choosing Linux as an operating system is that it’s much more secure than Windows. There are plenty of reasons for this including appropriate user permissions, installing software from trusted sources and, of course, the fact that most software for Linux including the Linux kernel itself is open source which allows anyone to review the code for vulnerabilities. This doesn’t mean that Linux is perfectly secure though, as researchers recently found a major bug found in most major Linux distributions that allows anyone to run code as the root user.

The exploit is a memory corruption vulnerability in Polkit, a framework that handles the privilege level of various system processes. It specifically impacts the program pkexec. With the proof-of-concept exploit (file download warning) in hand, all an attacker needs to do to escalate themselves to root is to compile the program on the computer and run it as the default user. An example is shown by [Jim MacDonald] on Twitter for those not willing to try this on their own machines.

As bad as this sounds, it seems as though all of the major distributions that this impacts have already released updates that patch the issue, including Debian, Ubuntu, Red Hat, Fedora, open SUSE, and Arch. There is also a temporary workaround that removes read/write permission from the pkexec program so it can’t run at all. That being said, it might be best to check that your Linux systems are all up-to-date and that no strangers have been typing random commands into the terminal recently.

Laser Z-Axis Table Comes Into Focus

Laser cutters and 3D printers are game-changing tools to have in the workshop. They make rapid prototyping or repairs to existing projects a breeze as they can churn out new parts with high precision in a very short amount of time. The flip side of that, though, is that they can require quite a bit of maintenance. [Timo] has learned this lesson over his years-long saga owning a laser cutter, although he has attempted to remedy most of the problems on his own, this time by building a Z-axis table on his own rather than buying an expensive commercial offering.

The Z-axis table is especially important for lasers because a precise distance from the lens to the workpiece is needed to ensure the beams’s focal point is correctly positioned. Ensuring this distance is uniform over the entire bed can be a project all on its own. For this build, [Timo] started by building a simple table that allowed all four corners to be adjusted, but quickly moved on to a belt-driven solution that uses a stepper motor in order to adjust the entire workspace. The key to the build was learning about his specific laser’s focal distance which he found experimentally by cutting a slot in an angled piece of wood and measuring the height where the cut was the cleanest.

After everything was built, [Timo] ended up with a Z-axis table that is easily adjustable to the specific height required by his laser. Having a laser cutter on hand to bootstrap this project definitely helped, and it also seems to be an improvement on any of the commercial offerings as well. This also illustrates a specific example of how a laser cutter may be among the best tools for prototyping parts and building one-off or custom tools of any sort.

Portable Pizza Oven Has Temperature Level Over 900

While it’s possible to make pizza from scratch at home right down to the dough itself, it’ll be a struggle to replicate the taste and exquisite mouthfeel without a pizza oven. Pizzas cook best at temperatures well over the 260°C/500°F limit on most household ovens while pizza ovens can typically get much hotter than that. Most of us won’t have the resources to put a commercial grade wood-fired brick oven in our homes, but the next best thing is this portable pizza oven from [Andrew W].

The build starts with some sheet metal to form the outer and inner covers for the oven. [Andrew] has found with some testing that a curved shape seems to produce the best results, so the sheet metal goes through rollers to get its shape before being welded together. With the oven’s rough shape completed, he fabricates two different burners. One sits at the back of the oven with its own diffuser to keep the oven as hot as possible and the other sits underneath a cordierite stone to heat from the bottom. Both are fed gas from custom copper plumbing and when it fires up it reaches temperatures hot enough that it can cook a pizza in just a few minutes. With some foldable legs the oven also ends up being fairly portable, and its small size means that it can heat up faster than a conventional oven too.

This is [Andrew]’s third prototype oven, and it seems like he has the recipe perfected. In fact, we featured one of his previous versions almost two years ago and are excited to see the progress he’s made in this build. The only downside to having something like this would be the potential health implications of always being able to make delicious pizzas, but that is a risk we’d be willing to take.

Continue reading “Portable Pizza Oven Has Temperature Level Over 900”

NTP Server Gets Time From Space

Cheap GPS units are readily available nowadays, which is great if you have something that needs to be very precisely located. Finding the position of things is one of many uses for GPS, though. There are plenty of ways to take advantage of some of the ancillary tools that the GPS uses to determine location. In this case it’s using the precise timekeeping abilities of the satellites to build a microsecond-accurate network time protocol (NTP) server.

GPS works by triangulating position between a receiver and a number of satellites, but since the satellites are constantly moving an incredibly precise timing signal is needed in order to accurately determine location from all of these variables. This build simply teases out that time information from the satellite network and ignores the location data. There are only two parts to this build, a cheap GPS receiver and a Raspberry Pi, but [Austin] goes into great detail about how to set up the software side as well including installing PPS, GPSd, and then setting up the actual NTP server on the Pi.

While this is an excellent way to self-host your own NTP server if you don’t have Internet access (or just want to do it yourself), [Austin] does note that this is probably overkill on timekeeping as far as accuracy goes. On the other hand, the Raspberry Pi has no built-in real time clock of its own, so this might actually be a cost-competitive way of timekeeping even when compared to something more traditional like a DS3231 RTC module.

Continue reading “NTP Server Gets Time From Space”

Reverse Engineering The SEGA Mega Drive

With the widespread adoption of emulators, almost anyone can start playing video games from bygone eras. Some systems are even capable of supporting homebrew games, with several having active communities that are still creating new games even decades later. This ease of programming for non-PC platforms wasn’t always so easy, though. If you wanted to develop games on a now-antique console when it was still relatively new, you had to jump through a lot of hoops. [Tore] shows us how it would have been done with his Sega Mega Drive development kit that he built from scratch.

While [Tore] had an Atari ST, he wanted to do something a little more cutting edge and at the time there was nothing better than the Mega Drive (or the Genesis as it was known in North America). It had a number of features that lent the platform to development, namely the Motorola 68000 chip that was very common for the time and as a result had plenty of documentation available. He still needed to do quite a bit of reverse engineering of the system to get a proper dev board running, though, starting with figuring out how the cartridge system worked. He was able to build a memory bank that functioned as a re-writable game cartridge.

With the hard parts out of the way [Tore] set about building the glue logic, the startup firmware which interfaced with his Atari ST, and then of course wiring it all together. He was eventually able to get far enough along to send programs to the Mega Drive that would allow him to control sprites on a screen with the controller, but unfortunately he was interrupted before he could develop any complete games. The amount of research and work to get this far is incredible, though, and there may be some helpful nuggets for anyone in the homebrew Mega Drive community today. If you don’t want to get this deep into the Mega Drive hardware, though, you can build a cartridge that allows for development on native Sega hardware instead.

I2C To The Max With ATtiny

The Arduino is a powerful platform for interfacing with the real world, but it isn’t without limits. One of those hard limits, even for the Arduino MEGA, is a finite number of pins that the microcontroller can use to interface with the real world. If you’re looking to extend the platform’s reach in one of your own projects, though, there are a couple of options available. This project from [Bill] shows us one of those options by using the ATtiny85 to offload some of an Arduino’s tasks using I2C.

I2C has been around since the early 80s as a way for microcontrollers to communicate with each other using a minimum of hardware. All that is needed is to connect the I2C pins of the microcontrollers and provide each with power. This project uses an Arduino as the controller and an arbitrary number of smaller ATtiny85 microcontrollers as targets. Communicating with the smaller device allows the Arduino to focus on more processor-intensive tasks while giving the simpler tasks to the ATtiny. It also greatly simplifies wiring for projects that may be distributed across a distance. [Bill] also standardizes the build with a custom development board for the ATtiny that can also double as a shield for the Arduino, allowing him to easily expand and modify his projects without too much extra soldering.

Using I2C might not be the most novel of innovations, but making it easy to use is certainly a valuable tool to add to the toolbox when limited on GPIO or by other physical constraints. To that end, [Bill] also includes code for an example project that simplifies the setup of one of these devices on the software end as well. If you’re looking for some examples for what to do with I2C, take a look at this thermometer that communicates with I2C or this project which uses multiple sensors daisy-chained together.

Continue reading “I2C To The Max With ATtiny”

Acid-Damaged Game Boy Restored

The original Game Boy was the greatest selling handheld video game system of all time, only to be surpassed by one of its successors. It still retains the #2 position by a wide margin, but even so, they’re getting along in years now and finding one in perfect working condition might be harder than you think. What’s more likely is you find one that’s missing components, has a malfunctioning screen, or has had its electronics corroded by the battery acid from a decades-old set of AAs.

That latter situation is where [Taylor] found himself and decided on performing a full restoration on this classic. To get started, he removed all of the components from the damaged area so he could see the paths of the traces. After doing some cleaning of the damage and removing the solder mask, he used 30 gauge wire to bridge the damaged parts of the PCB before repopulating all of the parts back to their rightful locations. A few needed to be replaced, but in the end the Game Boy was restored to its former 90s glory.

This build is an excellent example of what can be done with a finely tipped soldering iron while also being a reminder not to leave AA batteries in any devices for extended periods of time. The AA battery was always a weak point for the original Game Boys, so if you decide you want to get rid of batteries of any kind you can build one that does just that.

Continue reading “Acid-Damaged Game Boy Restored”