The Prossimo project has announcedthat it has contracted with Miguel Ojeda to work on Rust in the Linux kernelfor the next year. Prossimo is a new name for the memory-safetyprojects being run by the Internet Security ResearchGroup (ISRG), which is the organization behind the Let's Encrypt certificate authority(CA) project. Google provided the funds to enable Ojeda to work full-timeon the project starting back in April.
Security updates have been issued by CentOS (gnupnp and postgresql), Fedora (dino, microcode_ctl, and xen), Mageia (apache, gsoap, libgd, openssh, perl-Image-ExifTool, python-bleach, and qt4 and qtsvg5), openSUSE (chromium, containerd, docker, runc, djvulibre, htmldoc, kernel, libjpeg-turbo, libopenmpt, libxml2, spice, squid, and ucode-intel), Red Hat (dhcp and glib2), SUSE (apache2, inn, java-1_8_0-openjdk, and webkit2gtk3), and Ubuntu (nettle).
The specter of more events like the SolarWindssupply-chain attacks is something that concerns many in ourcommunities—and beyond. Linux distributions provide a supply chain thatobviously needs to be protected against attackers injecting malicious codeinto the update stream. This problem recently came up on the Fedora develmailing list, which led to a discussion covering a few different topics.For the most part, Fedora users are protected against such attacks, whichis not to say there is nothing more to be done, of course.
Stable kernels 5.12.11, 5.10.44, 5.4.126, 4.19.195, 4.14.237, 4.9.273, and 4.4.273 have been released. They all containimportant fixes and users should upgrade.
Security updates have been issued by Debian (prosody, python-urllib3, and xen), Fedora (dino, dotnet3.1, dotnet5.0, and vmaf), Oracle (gupnp, kernel, and kernel-container), Red Hat (gupnp), Scientific Linux (kernel), SUSE (java-1_8_0-openjdk, kernel, snakeyaml, and xorg-x11-libX11), and Ubuntu (bluez).
The Audacity multi-track audioeditor and recorder got its start in the previous century; it is a popularapplication that is available for multiple platforms, and it is licensed under theGPLv2 or later. But Audacity has been acquired by a newlyformed organization called Muse Group;that event has caused something of an uproar in its community. The problem, atleast in part, isthe new ContributorLicense Agreement (CLA) required to contribute to Audacity.
The Free Software Foundation Europe introduces REUSEBooster. REUSE is a set of bestpractices to make Free Software licensing easier. "With REUSEBooster, we go one step further. We invite Free Software projects to register for getting help by theFSFE's legal experts. As the name suggests, this will boost the process ofadopting the best practices as well as general understanding of licensingand copyright." The registration deadline is July 8.
Konstantin Ryabitsev has announceda new service providing @linux.dev mailboxes for people to usewith kernel development. The documentation pagehas more information. "This is a BETA offering. Currently, it isonly available to people listed in the MAINTAINERS file. We hope to be ableto offer it to everyone else who can demonstrate an ongoing history ofcontributions to the Linux kernel (patches, git commits, mailing listdiscussions, etc)."
Security updates have been issued by CentOS (389-ds-base, dhcp, firefox, glib2, hivex, kernel, postgresql, qemu-kvm, qt5-qtimageformats, samba, and xorg-x11-server), Fedora (kernel and kernel-tools), Oracle (kernel and postgresql), Red Hat (dhcp and gupnp), Scientific Linux (gupnp and postgresql), SUSE (postgresql10 and xterm), and Ubuntu (imagemagick).
The GNU C Library developers are askingfor comments on a proposal to stop requiring developers to assign theircopyrights to the Free Software Foundation. This mirrors the recent change by GCC, except that thecommunity is being consulted first. "The changes to accept patcheswith or without FSF copyright assignment would be effective on August 2nd, and would apply to all open branches.The glibc stewards, like the GCC SC, continue to affirm the principles ofFree Software, and that will never change."
The first release of the Aya BPF library has been announced; this projectallows the writing of BPF programs in the Rust language. "Over thelast year I've talked with many folks interested in using eBPF in the Rustcommunity. My goal is to get as many of you involved in the project aspossible! Now that the rustc target has been merged, it's time to build asolid foundation so that we can enable developers to write great eBPFenabled apps".
The quotactl()system call is used to manipulate disk quotas on a filesystem; it canbe used to turn quota enforcement on or off, change quotas, retrievecurrent usage information, and more. The 5.13 merge window brought in anew variant of that system call that was subsequently disabled due to APIconcerns; its replacement is now taking form.
The Google Developers Blog has thisannouncement describing the release of a fullyhomomorphic encryption project under the Apache license."With FHE, encrypted data can travel across the Internet to a server,where it can be processed without being decrypted. Google’s transpiler willenable developers to write code for any type of basic computation such assimple string processing or math, and run it on encrypted data. Thetranspiler will transform that code into a version that can run onencrypted data. This then allows developers to create new programmingapplications that don’t need unencrypted data." See thiswhite paper for more details on how it all works.
The 5.13-rc6 kernel prepatch is out fortesting. "Nothing particularly special to say about this - rc6 iscertainly smaller than rc5 was, so we're moving in the rightdirection".
Free-software development is meant to be fun, at least some of the time.Even developers of database-management systems seem to think that it isfun; there is no accounting for taste, it seems. Part of having fun iscertainly allowing the occasional exercise of one's sense of humor whileworking on the code. But, as some recent "fix" attempts show, humor doesnot always carry through to developers all over the planet. Balancinghumor and inclusiveness is always going to be a challenge for our community.
Over on the Mozilla blog, Eric Rescorla looksinto some of the privacy implications of the Federated Learning of Cohorts(FLoC), which is a Google effort to replacethird-party cookies with a different type of identifier that is lesstrackable. But less tracking does not equal no tracking. "People'sinterests aren't constant and neither are their FLoC IDs. Currently, FLoCIDs seem to be recomputed every week or so. This means that if a tracker isable to use other information to link up user visits over time, they canuse the combination of FLoC IDs in week 1, week 2, etc. to distinguishindividual users. This is a particular concern because it works even withmodern anti-tracking mechanisms such as Firefox's TotalCookie Protection (TCP). TCP is intended to prevent trackers from correlating visits acrosssites but not multiple visits to one site. FLoC restores cross-sitetracking even if users have TCP enabled."
In a lengthyblog post, Lennart Poettering describes the advantages of using theunique IDs (UUIDs) and flags from the discoverable partitionsspecification to label the entries in a GUID PartitionTable (GPT). That information can be used to tag disk images in aself-descriptive way, so that external configuration files (such as/etc/fstab) are not needed to assemble the filesystems for therunning system. Systemd can use this information in a variety of ways,including for running the image in a container: "If a disk imagefollows the Discoverable Partition Specification then systemd-nspawn hasall it needs to just boot it up. Specifically, if you have a GPT disk imagein a file foobar.raw and you want to boot it up in a container, just runsystemd-nspawn -i foobar.raw -b, and that's it (you can specify a blockdevice like /dev/sdb too if you like). It becomes easy and natural toprepare disk images that can be booted either on a physical machine, insidea virtual machine manager or inside such a container manager: the necessarymeta-information is included in the image, easily accessible beforeactually looking into its file systems."
Extended BPF (eBPF), the general-purposeexecution engine inside of the Linux kernel, has proved helpful for tracing andmonitoring the system, for processing network packets, or generally forextending the behavior of the kernel. So helpful, in fact, that developersworking on other operating systems have been watching it. Dave Thaler andPoorna Gaddehosur, on behalf of Microsoft, recentlypublished an implementation of eBPF for Windows. A Linux feature makingits way to Windows, in itself, deserves attention. Even more so when thatfeature has brought new degrees of programmability to the Linux kernel overthe last few years. This makes it especially interesting to look at what thenew project can do, and to ponder how the current ecosystem might evolve aseBPF begins its journey toward Windows.
On the GitHub blog, Kevin Backhouse writesabout a privilege escalation vulnerability in polkit, which"enables an unprivileged local user to get a root shell on thesystem" CVE-2021-3560"is triggered by starting a dbus-send command but killing it whilepolkit is still in the middle of processing the request. [...] Why doeskilling the dbus-send command cause an authentication bypass? Thevulnerability is in step four of the sequence of events listed above. Whathappens if polkit asks dbus-daemon for the UID of connection :1.96, butconnection :1.96 no longer exists? dbus-daemon handles that situationcorrectly and returns an error. But it turns out that polkit does nothandle that error correctly. In fact, polkit mishandles the error in aparticularly unfortunate way: rather than rejecting the request, it treatsthe request as though it came from a process with UID 0. In other words, itimmediately authorizes the request because it thinks the request has comefrom a root process."
The 5.12.10, 5.10.43, 5.4.125, 4.19.194, 4.14.236, 4.9.272, and 4.4.272 stable kernels have been released. Asusual, they contain fixes all over the kernel tree and users of thoseseries should upgrade.
Security updates have been issued by Debian (htmldoc, lasso, and rails), Fedora (exiv2, firefox, and microcode_ctl), openSUSE (python-HyperKitty), Oracle (389-ds-base, qemu-kvm, qt5-qtimageformats, and samba), Red Hat (container-tools:3.0, container-tools:rhel8, postgresql:12, and postgresql:13), Scientific Linux (389-ds-base, hivex, libwebp, qemu-kvm, qt5-qtimageformats, samba, and thunderbird), SUSE (caribou, djvulibre, firefox, gstreamer-plugins-bad, kernel, libopenmpt, libxml2, python-Pillow, qemu, spice, spice-gtk, and ucode-intel), and Ubuntu (rpcbind).
Annotations in Python came late to the party; they were introduced inPython 3 as a way to attach information to functions describing their arguments andreturn values. While that mechanism had obvious applications for addingtype information to Python functions, standardized interpretations for theannotations came later with type hints.But evaluating the annotations at function-definition time caused somedifficulties, especially with respect to forward references to type names,so a Python Enhancement Proposal (PEP) was created to postpone theirevaluation until they were needed. The PEP-described behavior was set tobecome the default in the upcoming Python 3.10 release, but that isnot to be; the postponement of evaluation by default has itself been postponed in thehopes of unwinding things.
As movement toward memory-safe languages, and Rust in particular, continues togrow, it is worth looking atone of the larger scale efforts to port C code that has existed for decadesto Rust. The uutils project aims torewrite all of the individual utilities included in the GNU Coreutils project inRust. Originally created by JordiBoggiano in 2013, the project aims to provide drop-inreplacements for the Coreutils programs, addingthe data-race protection and memory safety that Rust provides.
Security updates have been issued by Debian (nginx), Fedora (musl), Mageia (dnsmasq, firefox, graphviz, libebml, libpano13, librsvg, libxml2, lz4, mpv, tar, and vlc), openSUSE (csync2, python-py, and snakeyaml), Oracle (qemu), Red Hat (container-tools:2.0, kernel, kpatch-patch, nettle, nginx:1.16, and rh-nginx116-nginx), Slackware (httpd and polkit), SUSE (389-ds, gstreamer-plugins-bad, shim, and snakeyaml), and Ubuntu (gnome-autoar and isc-dhcp).
The realtime project has been the source of many of theinnovations that have found their way into the core kernel in the lastfifteen years or so. There is more to it than that, though; the wider realtimecommunity is also doing interesting work in a number of areas that go beyond ensuring deterministicresponse. One example is Daniel Bristot de Oliveira's runtimeverification patch set, which can monitor the kernel to ensure that itis behaving the way one thinks it should.
Security updates have been issued by Debian (libwebp, python-django, ruby-nokogiri, and thunderbird), Fedora (dhcp, polkit, transfig, and wireshark), openSUSE (chromium, inn, kernel, redis, and umoci), Oracle (pki-core:10.6), Red Hat (libwebp, nginx:1.18, rh-nginx118-nginx, and thunderbird), SUSE (gstreamer-plugins-bad), and Ubuntu (linux, linux-aws, linux-azure, linux-gcp, linux-hwe-5.8, linux-kvm, linux-oracle).
The 5.13-rc5 kernel prepatch is out fortesting. "Hmm. Things haven't really started to calm down very much yet, but rc5seems to be fairly average in size. I'm hoping things will startshrinking now."
Back in a distant time — longer ago than he cares to admit — your editormanaged a system-administration group. At that time, most of the day-to-daypain reliably came from two types of devices: modems and printers. Modemsare more plentiful than ever now, but they have disappeared into interfacecontrollers and (usually) manage to behave themselves. Printers, instead,are still entirely capable of creating problems and forcing areconsideration of one's life choices.Behind the scenes, though, the situation has been getting better but, as arecent conversation within the Fedora project made clear, taking advantageof those improvements will require some changes and a bit of a leap of faith.
There is a new release of CentOS Linux 8. "Effectively immediately, this is the current release for CentOSLinux 8 and is tagged as 2105, derived from Red Hat Enterprise Linux 8.4Source Code." See therelease notes for the changes in this release.
The io_uring subsystem, first introduced in2019, has quickly become the leading way to perform high-bandwidth,asynchronous I/O. It has drawn the attention of many developers, including,more recently,those who are focused more on security than performance. Now some membersof the security community are lamenting a perceived lack of thought about security support inio_uring, and are trying to remedy that shortcoming by adding audit andLinux security module support there. That process is proving difficult,and has raised the prospect of an unpleasant fallback solution.
Greg Kroah-Hartman has announced the release of the 5.12.9, 5.10.42, 5.4.124, 4.19.193, 4.14.235, 4.9.271, and 4.4.271 stable kernels. As usual, thesecontain fixes throughout the kernel tree; users should upgrade.
When last we looked in on Fedora CoreOS back in December,it was under consideration to become an official Fedora edition. That hasnot happened, yet at least, but it would seem that the CoreOS "emerging edition"is still undergoing some difficulties trying to fit in with the rest ofFedora. There are differences between the needs of a container operatingsystem and those of more general-purpose distributions, which still need tobe worked out if Fedora CoreOS is going to "graduate".
Security updates have been issued by Debian (squid), Fedora (dhcp), openSUSE (gstreamer, gstreamer-plugins-bad, gstreamer-plugins-base, gstreamer-plugins-good, gstreamer-plugins-ugly and slurm), Oracle (glib2 and kernel), Red Hat (kernel, kernel-rt, perl, and tcpdump), Scientific Linux (glib2), SUSE (bind, dhcp, lz4, and shim), and Ubuntu (dnsmasq, lasso, and python-django).
OpenSUSELeap 15.3 has been released. "There is one huge change from theprevious Leap versions. openSUSE Leap 15.3 is built not just from SUSELinux Enterprise source code like in previous versions, but built with theexact same binary packages, which strengthens the flow between Leap and SLElike a yin yang." There are a lot of new features as well, see theannouncement for details.
Matthew Garrett has written up the long,complex series of steps required to build an x86 device that only bootscode that the creator wants to run there. "At this point everythingin the boot process is cryptographically verified, and so should bedifficult to tamper with. Unfortunately this isn't really sufficient - onx86 systems there's typically no verification of the integrity of thesecure boot database. An attacker with physical access to the system couldattach a programmer directly to the firmware flash and rewrite the secureboot database to include keys they control. They could then replace theboot image with one that they've signed, and the machine would happily bootcode that the attacker controlled. We need to be able to demonstrate thatthe system booted using the correct secure boot keys, and the only way wecan do that is to use the TPM."
Over the last month or so, there has been a good bit of newssurrounding the idea of increasing the performance of the CPythoninterpreter. At the 2021Python Language Summit in mid-May, Guido van Rossum announcedthat he and a small team are being funded by Microsoft to work with thecommunity on getting performance improvements upstream into theinterpreter—crucially, without breaking the C API so that the ecosystem ofPython extensions (e.g. NumPy) continue towork. Another talk at the summit lookedat Cinder, which is a performance-oriented CPython fork that is used inproduction at Instagram. Cinder was recently released as open-sourcesoftware, as was anotherproject to speed up CPython that originated at Dropbox: Pyston.
The GCC Steering Committee has decided torelax the requirement to assign copyright to the Free SoftwareFoundation. "Contributors who have an FSF Copyright Assignment don'tneed to change anything. Contributors who wish to utilize the DeveloperCertificate of Origin should add a Signed-off-by message to their commitmessages. Developers with commit access may add their name to the DCO listin the MAINTAINERS file to certify the DCO for all future commits in lieuof individual Signed-off-by messages for each commit."
Firefox 89 has been released. Thechanges in this version focus on the look and feel. "We’ve redesignedand modernized the core experience to be cleaner, more inviting, and easierto use. " This release also includes enhancements to the privacyofferings. "We’veenhanced the privacy of the Firefox Browser’s Private Browsing modewith Total Cookie Protection, which confines cookies to the site where theywere created, preventing companies from using cookies to track your browsing across sites. This feature was originally launched in Firefox’s ETP Strict mode."
Security updates have been issued by Fedora (cflow, chromium, eterm, gnutls, and kernel), Mageia (kernel and kernel-linus), Oracle (glib2), Red Hat (glib2, kernel, kernel-rt, and kpatch-patch), SUSE (curl, djvulibre, gstreamer, gstreamer-plugins-bad, gstreamer-plugins-base, gstreamer-plugins-good, gstreamer-plugins-ugly, nginx, python-httplib2, and slurm), and Ubuntu (gupnp, libwebp, postgresql-10, postgresql-12, postgresql-13, and python3.8).
The GCC compiler, like other GNU projects, has long required contributorsto complete paperwork assigning the copyrights on their work to the FreeSoftware Foundation. That requirement has just been dropped, andcontributors can now attach a Signed-off-by tag indicating use of theDevelopers Certificate ofOrigin instead. "This change is consistent withthe practices of many other major Free Software projects, such as theLinux kernel." Initial discussionsuggests that some developers were surprised by this change and are yet to be convinced that it is a goodidea.
The seccomp()mechanism allows a process to load a BPF program to restrict its future useof system calls; it is a simple but flexible sandboxing mechanism that iswidely used. Those filter programs, though, run on the "classic" BPF virtualmachine, rather than the extended BPF(eBPF) machine used elsewhere in the kernel. Moving seccomp() to eBPF has been an often-requestedchange, but security concerns have prevented that from happening. Thelatest attempt to enable eBPF is this patchset from YiFei Zhu; whether it will succeed where others have failedremains to be seen.