Version 5.0.0 of the LLVM compiler infrastructure is out."This release is the result of the community's work over the past sixmonths, including: C++17 support, co-routines, improved optimizations,new compiler warnings, many bug fixes, and more". See the releasenotes (and release notes for Clang,Clangtools,lld,and polly)for details.
Drivers are a consistent source of kernel bugs, at least partly due to lessreview, but also because drivers are typically harder for tools toanalyze. A team from the University of California, Santa Barbara has setout to change that with a static-analysis tool called DR. CHECKER. In a paper[PDF] presented at the recent 26th USENIXSecurity Symposium, the team introduced the tool and the results ofrunning it on nine production Linux kernels. Those results were ratherencouraging: "it correctly identified 158 critical zero-day bugs with an overall precision of 78%".
The application for the (northern-hemisphere) Outreach winter internshipcycle is open, with applications due by October 23. "Outreachy is paid, remote, three month internship program that helpspeople traditionally underrepresented in tech make their firstcontributions to Free and Open Source Software (FOSS) communities."
Greg Kroah-Hartman has released the 4.12.11, 4.9.48, 4.4.87, and 3.18.70 stable kernels. As usual, there arefixes throughout the tree and users of those series should upgrade.
As much as we get addicted to mobile phones and online services, nobody(outside of cyberpunk fiction) actually lives online. That's why maps,geolocation services, and geographic information systems (GISes) have come to play a bigger role online. They reflect they way we live,work, travel, socialize, and (in the case of natural or human-madedisasters, which come more and more frequently) suffer. Thus there isvalue in integrating geolocation into existing web sites, but systems likeWordPress do not make supporting that easy.The software development firm LuminFirehas contributed to the spread of geolocation services by creating a library forWordPress that helps web sites insert geolocation information into webpages. Thisarticle describes how LuminFire surmounted the challenges posed byWordPress and shows a few uses for the library.
Security updates have been issued by Arch Linux (chromium and postgresql), Fedora (gd and mingw-libzip), Mageia (groovy18, libxdmcp, mariadb, and mercurial), openSUSE (salt), Red Hat (instack-undercloud, kernel-rt, openvswitch, and rh-nodejs6-nodejs-qs), and SUSE (gdk-pixbuf).
Version 2.2 of the GNU COBOL compiler is out. Changes include arelicensing to GPLv3, a set of new intrinsic functions, a direct callinterface for C functions, and more.
Kees Cook highlightsthe security-related changes in the 4.13 kernel."Daniel Micay created a version of glibc’s FORTIFY_SOURCEcompile-time and run-time protection for finding overflows in the commonstring (e.g. strcpy, strcmp) and memory (e.g. memcpy, memcmp)functions. The idea is that since the compiler already knows the size ofmany of the buffer arguments used by these functions, it can already buildin checks for buffer overflows. When all the sizes are known at compiletime, this can actually allow the compiler to fail the build instead ofcontinuing with a proven overflow. When only some of the sizes are known(e.g. destination size is known at compile-time, but source size is onlyknown at run-time) run-time checks are added to catch any cases where anoverflow might happen. Adding this found several places where minor leakswere happening, and Daniel and I chased down fixes for them."
As Steve Dower noted in his lightningtalk at the 2017 Python LanguageSummit, Python itself can be considered a securityvulnerability—because of its power, its presence on a target system isa boon to attackers. Now, Dower is trying to address parts of thatproblem with a Python Enhancement Proposal (PEP) that would enable systemadministrators and others to detect when Python is being used for anefarious purpose by increasing the "security transparency" of thelanguage. It is not a solution that truly thwarts an attacker's ability to use Python in an unauthorized way, but will make it easier foradministrators to detect, and eventually disable, those kinds of attacks.
Security updates have been issued by Debian (file, icedove, irssi, ruby2.3, and tcpdump), Fedora (libzip and openjpeg2), openSUSE (clamav-database, icu, libzypp, zypper, and php5), Oracle (389-ds-base), Red Hat (rh-maven33-groovy), SUSE (postgresql94, postgresql96, and python-pycrypto), and Ubuntu (bzr and libgd2).
One does not normally expect to see significant changes to an importantinternal memory-management mechanism in the time between the ‑rc7 prepatchand the final release for a development cycle, but that is exactly whathappened just before 4.13 was released. A regression involving thememory-management unit (MMU) notifier mechanism briefly threatened todelay this release, but a last-minute scramble kept 4.13 onschedule and also resulted in a cleanup of that mechanism.This seems like a good time to look at a mechanism that LinusTorvalds called "a badly designed mistake" and how it was madeto be a bit less mistaken.
Version 11.0 of the PulseAudio sound system has been released. Newfeatures include more hardware support, a priority change so that externalsound devices are preferred over internal devices, support for operating asa Bluetooth headset device, and the long awaited GNU Hurd port. See therelease notes for details.
Security updates have been issued by Debian (asterisk and irssi), Fedora (glibc), Gentoo (mcollective), openSUSE (pspp and wireshark), Red Hat (389-ds-base, docker-distribution, kernel-rt, and qemu-kvm-rhev), Scientific Linux (389-ds-base), SUSE (kernel, libzypp, zypper, and xen), and Ubuntu (fontforge and liblouis).
The kernel's CPU-frequency ("cpufreq") governors are charged with pickingan operating frequency for each processor that minimizes power use whilemaintaining an adequate level of performance as determined by the currentpolicy. These governors normally run locally, with each CPU handling itsown frequency management. The 4.14 kernel release, though, will enable theCPU-frequency governors to control the frequency of any CPU in thesystem if the architecture permits, a change that should improve theperformance of the system overall.
Security updates have been issued by Debian (enigmail, gnupg, libgd2, libidn, libidn2-0, mercurial, and strongswan), Fedora (gd, libidn2, mbedtls, mingw-openjpeg2, openjpeg2, and xen), Mageia (apache-commons-email, botan, iceape, poppler, rt/perl-Encode, samba, and wireshark), and openSUSE (expat, freerdp, git, libzypp, and php7).
Linus has released the 4.13 kernel, right on schedule.Headline features in this release includekernel hardening via structure layoutrandomization,native TLS protocol support,better huge-page swapping,improved handling of writeback errors,better asynchronous I/O support,better power management via next-interruptprediction,the elimination of the DocBook toolchain for formatted documentation,and more. There is one other change that is called out explicitly in theannouncement: "The change in question is simply changing the default cifs behavior:instead of defaulting to SMB 1.0 (which you really should not use:just google for 'stop using SMB1' or similar), the default cifs mountnow defaults to a rather more modern SMB 3.0."
Steve McIntyre reports from a BoF session on the year-2038 problem atDebConf 17. "It's important that we work on fixing issues *now* to stop peoplebuilding broken things that will bite us. We all expect that our owncomputer systems will be fine by 2038; Debian systems will be fixedand working! We'll have rebuilt the world with new interfaces andfound the issues. The issues are going to be in the IoT, with systemsthat we won't be able to simply rebuild/verify/test - they'll fail. Weneed to get the underlying systems right ASAP for those systems."
The postmarketOS distribution looksback at its first 100 days. "One of our previously stated goalsis using the mainline Linux kernel on as many mobile devices aspossible. This is not as easy as it might sound, since many Linux-basedsmartphones (Android) require binary drivers which depend on very specifickernel versions. It's a tremendous task to rewrite these drivers to workwith the current kernel APIs. Nevertheless, some people have been doingthat since long before postmarketOS existed. In the case of the Nokia N900this has been going on for some number of years and almost all componentsare now supported in the mainline kernel. This has allowed us to use themainline kernel as the default kernel for the N900, jumping from Maemo's2.6.x to mainline 4.12!"
The 4.9.47,4.4.86, and3.18.69stable kernel updates have been released; each contains another set ofimportant fixes. Note that there is no 4.12 update in this series.
Running one's own mail system on the Internet has become an increasinglydifficult thing to do, to the point that many people don't bother, even ifthey have the necessary skills. Among the challenges is spam; withouteffective spam filtering, an email account will quickly drown under adeluge of vile offers, phishing attempts, malware, and alternative facts. Many ofus turn to SpamAssassin forthis task, but it's not the only alternative; Rspamd is increasingly worth considering inthis role. Your editor gave Rspamd a spin to get a sense for whetherswitching would be a good thing to do.
Security updates have been issued by CentOS (openssh, poppler, and thunderbird), Debian (graphicsmagick and openexr), Fedora (cacti, dnsdist, exim, groovy18, kernel, libsndfile, mingw-libzip, and taglib), Oracle (openssh), Red Hat (openssh), Scientific Linux (openssh), and SUSE (git and xen).
Allan Day sharessome welcome news about the GNOME status icon tray."GNOME 3 currently shows status icons in the bottom-left corner ofthe screen, in a tray that slides in and out. We know that this isn’t agood solution. The tray gets in the way and it generally feels quiteawkward. There’s a general consensus that we don’t want to continue withthis UI for the upcoming version of GNOME 3."
Security updates have been issued by Debian (connman, faad2, gnupg, imagemagick, libdbd-mysql-perl, mercurial, and php5), openSUSE (postgresql93 and samba and resource-agents), Oracle (poppler), Scientific Linux (poppler), SUSE (firefox and php7), and Ubuntu (pyjwt).
The Android Developers Blog has anoverview of the security features added to the kernel in the Android"Oreo" release. "Usercopy functions are used by the kernel totransfer data from user space to kernel space memory and back again. Since2014, missing or invalid bounds checking has caused about 45% of Android'skernel vulnerabilities. Hardened usercopy adds bounds checking to usercopyfunctions, which helps developers spot misuse and fix bugs in theircode. Also, if obscure driver bugs slip through, hardening these functionsprevents the exploitation of such bugs."
A nearly year-old "fix" to the main logging function used in the kernel,printk(), changed the appearance of some log messages in anunexpected way, at least for some.Messages that had appeared on a single line will now be spread over multiplelines as each call to printk() begins a new line in the outputunless the KERN_CONT flag is used.That is how a comment in the kernel code says it should work, but thechange was made by Linus Torvalds without any discussion orfanfare, so it took some by surprise.
In many ways, distributions shackle their users to particular versions oftools, libraries, and frameworks. Distributions do not do that to becruel, of course, but to try to ensure aconsistent and well-functioning experience across all of the software they ship. But users have often chafed at these restrictions, especiallyfor the fast-moving environments surrounding various web frameworks and theirdependencies. Fedora has been making an effort to make it easier for a single system tosupport these kinds of environments with its Modularityinitiative. In late July, Fedora announced apreview release of the server side of the Modularity equation, Boltron, which is aversion of the distribution that supports the initiative.
Security updates have been issued by Debian (libgcrypt20, poppler, and wordpress), Fedora (cvs, java-1.8.0-openjdk-aarch32, and postgresql), Mageia (gstreamer0.10-plugins-base, gstreamer1.0-plugins-base and libgit2), openSUSE (exim), Red Hat (instack-undercloud, openvswitch, and poppler), Scientific Linux (poppler), SUSE (kernel and quagga), and Ubuntu (linux-lts-trusty).
<p>Importing a module into a Python program is a pretty invasive operation; itdirectly runs code in the current process that has access to anything theprocess can reach. So it is not wildly surprising that a suggestion to adda way to directly import modules from remote sites was met with considerabledoubt—if not something approaching hostility. It turns out that the personsuggesting the change was not unaware of the security implications of theidea, but thought it had other redeeming qualities; others in thediscussion were less sanguine.
Stack-smashing attacks have a long history; they featured, for example, asa core part of the Morris worm back in1988. Restrictions on executing code on the stack have, to a great extent,put an end to such simple attacks, but that does not mean thatstack-smashing attacks are no longer a threat. Return-orientedprogramming (ROP) has become a common technique for compromising systems via astack-smashing vulnerability. There are various schemes out there fordefeating ROP attacks, but a mechanism called "RETGUARD" that is being implementedin OpenBSD is notable for its relative simplicity.
A team of Positive Technologies researchers describethe discovery of a mechanism that can disable Intel Management Engine(ME) 11 after hardware is initialized and the main processor starts."Intel Management Engine is a proprietary technology that consists of a microcontroller integrated into the Platform Controller Hub (PCH) chip and a set of built-in peripherals. The PCH carries almost all communication between the processor and external devices; therefore Intel ME has access to almost all data on the computer. The ability to execute third-party code on Intel ME would allow for a complete compromise of the platform. We see increasing interest in Intel ME internals from researchers all over the world. One of the reasons is the transition of this subsystem to new hardware (x86) and software (modified MINIX as an operating system). The x86 platform allows researchers to make use of the full power of binary code analysis tools. Previously, firmware analysis was difficult because earlier versions of ME were based on an ARCompact microcontroller with an unfamiliar set of instructions."
Security updates have been issued by Debian (ffmpeg, fontforge, and openjdk-7), Fedora (cvs, java-1.8.0-openjdk-aarch32, krb5, and mercurial), Mageia (chromium and libgxps), Red Hat (rh-nginx110-nginx), SUSE (java-1_7_1-ibm), and Ubuntu (ghostscript, kernel, linux, linux-aws, linux-gke, linux-raspi2, linux-snapdragon, linux, linux-raspi2, linux-hwe, linux-lts-xenial, and python-crypto).
Like most actively developed programs, the kernel grows over time; therehave only been two development cycles ever (2.6.36 and 3.17) where thekernel as a whole was smaller than its predecessor. The kernel's internal API tends to grow insize and complexity along with the rest. The good thing about the internalAPI, though, is that it is completely under the control of the developmentcommunity and can be changed at any time. Among other things, that meansthat parts of the kernel's internal API can be removed if they are nolonger needed — or if their addition in the first place is deemed to be amistake. A pair of pending removals in the memory-management area shows howthis process can work.
Version 2.2.0 of the GNU Privacy Guard is out; this is the beginning of anew long-term stable series. Changes in this release are mostly minor, butit does now install as gpg rather than gpg2, and it willautomatically fetch keys from keyservers by default. "Note: this enables keyserver and Web Key Directory operators to notice when you intend to encrypt to a mail address without having the key locally. This new behaviour will eventually make key discovery much easier and mostly automatic."
The 4.13-rc7 kernel prepatch has beenreleased. "We had a few issues come up the past week, but nothing that isreally impacting the release schedule.So here's rc7, and I still expect this to the the last rc, althoughthe best-laid plans of mice and men.."
Version 1.9 of the Go languagehas been released. "The most important change to the language is theintroduction of type aliases: a feature created to support gradual coderepair." See the releasenotes for details.
Security updates have been issued by Fedora (taglib), Mageia (augeas, gstreamer1.0, perltidy, thunderbird, unrar, and xmlsec1), openSUSE (GraphicsMagick), and Oracle (kernel and thunderbird).
Greg Kroah-Hartman has announced the release of the 4.12.9, 4.9.45, 4.4.84, and 3.18.67 stable kernels. As usual, theycontain fixes throughout the tree and users should upgrade.
Over at Opensource.com, Heather Meeker, a lawyer who specializes in open-source licensing, published a lengthy FAQ on the GPL enforcement efforts of netfilter developer Patrick McHardy. In it, Meeker looks at how much code McHardy has contributed, specifics of the German legal system that may make it attractive to copyright trolling (or profiteering), and steps that companies and others can take to oppose these kinds of efforts."Copyright ownership in large projects such as the Linux kernel is complicated. It’s like a patchwork quilt. When developers contribute to the kernel, they don’t sign any contribution agreement or assignment of copyright. The GPL covers their contributions, and the recipient of a copy of the software gets a license, under GPL, directly from all the authors. (The kernel project uses a document called a Developer Certificate of Origin, which does not grant any copyright license.) The contributors’ individual rights exist side-by-side with rights in the project as a whole. So, an author like McHardy would generally own the copyright in the contributions he created, but not in the whole kernel."
As of this writing, the 4.13 kernel appears headed toward release onSeptember 3, after a nine-week development cycle. It must, therefore,be about time for a look at the statistics for this development cycle. Thepicture that results shows a fairly typical kernel cycle with, as usual,few surprises.
Security updates have been issued by Arch Linux (salt and thunderbird), Debian (aodh), Fedora (kernel and nginx), Mageia (apache, graphicsmagick, kernel-tmb, and openjpeg2), Red Hat (bind and thunderbird), Scientific Linux (thunderbird), and Ubuntu (python-pysaml2).
SUSE has let itbe known that it plans to continue developing and supporting the Btrfsfilesystem, regardless of what other distributors do. "If one of the rather small contributors to the btrfs filesystem announced to not support btrfs for production systems: should you wonder, whether SUSE, strongest contributor to btrfs today, would stop investing into btrfs?You probably shouldn’t.SUSE is committed to btrfs as the default filesystem for SUSE Linux Enterprise, and beyond."
Deficiencies in the startup time forPython, along with the collections.namedtuple()data structurebeing identified as part of the problem, led Guido van Rossum to decree that named tuples should be optimized. That immediately set off amini-storm of thoughts about the data structure and how it might beredesigned in the original python-dev thread, but Van Rossum directedparticipants over to python-ideas, where a number of alternatives were discussed. Theyranged from straightforward tweaks to address the most pressing performanceproblems to elevating named tuples to be a new top-level datastructure—joining regular tuples, lists, sets, dictionaries, and so on.
At DebConf17, John Sullivan, the executive director of the FSF,gave a talk on the supposed decline of the use ofcopyleft licenses in free-software projects. In his presentation, Sullivanquestioned the notion that permissive licenses, like the BSD or MITlicenses, are gaining ground at the expense of the traditionally dominantcopyleft licenses from the FSF. While there does seem to be a rise inthe use of permissive licenses, in general, there are several possibleexplanations for the phenomenon.
The D-Bus Broker Project is an effort to rethink the D-Bus message bus andproduce an implementation that addresses many of its longstanding problems;this project has now made its first public release. "Its aim is toprovide high performance and reliability, while keeping compatibility tothe D-Bus reference implementation. It is exclusively written for linuxsystems, and makes use of many modern features provided by recent linuxkernel releases." See thispost for an introduction to the project, or the GitHub page forsource. This is a purely user-space implementation.
Security updates have been issued by Arch Linux (curl), Debian (libxml2 and smb4k), Fedora (kernel and xen), Red Hat (ansible and java-1.6.0-ibm), and SUSE (firefox, freerdp, GraphicsMagick, postgresql93, and samba).