The FreeBSD Security Team have identified a little bug in FreeBSD where a lost mbuf flag can result in data loss.
An mbuf is a basic unit of memory management in the FreeBSD kernel inter-process communication and networking subsystem. Network packets and socket buffers are dependent on mbufs for their storage.
Data can be embedded directly in mbufs, or mbufs can instead reference external buffers. The sendfile(2) system call uses external mbuf storage to directly map the contents of a file into a chain of mbufs for
transmission purposes. The mbuf object supports a read-only flag that must be honored to prevent modification or writes to buffer data in cases like these.
II. Problem Description
The read-only flag is not correctly copied when a mbuf buffer reference is duplicated. When the sendfile(2) system call is used to transmit data over the loopback interface, this can result in the backing pages
for the transmitted file being modified, causing data corruption.
This data corruption can be exploited by an local attacker to escalate their privilege by carefully controlling the corruption of system files. It should be noted that the attacker can corrupt any file they have read
For a workaround and steps to fix this, have a look at the announcement
Did you know you can old FreeBSD binaries on recent versions? As strange as it may sound, all FreeBSD versions have an ABI compatibility with previous versions, and you can run files compiled years ago. However, there seems to be a little problem now with running 1.0 packages on Current (9.0). Should be fixed soon. (via)
II Benchmarks of FreeBSD 8.1 RC2 against FreeBSD 8.0, Ubuntu Linux 10.10
FreeBSD 8.1 is slated to be released this month as the first significant update to FreeBSD since the rollout of the 8.0 release last November. With the second release candidate of FreeBSD 8.1 having just been made available a few days back, we have conducted a set of tests comparing the performance of FreeBSD 8.1 RC2 versus FreeBSD 8.0 and an Ubuntu 10.10 development snapshot.FreeBSD 8.1 is slated to be released this month as the first significant update to FreeBSD since the rollout of the 8.0 release last November. With the second release candidate of FreeBSD 8.1 having just been made available a few days back, we have conducted a set of tests comparing the performance of FreeBSD 8.1 RC2 versus FreeBSD 8.0 and an Ubuntu 10.10 development snapshot.
Generally bsdstats.org is only known by BSD users (and definitely not by all of them), so even having BIG stats out there is more or less pointless.
But there is other way to ‘impress’ other people with BSD stats … http://distrowatch.com portal. It mainly focuses on Linux distributions but it also gathers stats for BSDs and OpenSolaris/Solaris ‘distributions’.
I came across warBSD the other day. Has anybody ever used it and if so, what is your experience. Please share in the comments below.
WarBSD was an attempt at using FreeBSD with the PicoBSD build scripts to make a *BSD based war driving kit.
Serve an anonymous shell via Tor
“While most people use Tor simply for anonymous web browsing, Tor also provides a slick way to host a service (web site, IRC chat server, etc) called a Hidden Service. These services are “hidden” because they are only accessible via the Tor network, and are under the same anonymity umbrella as Tor clients — unless they accidentally expose information about themselves, it is essentially impossible to determine the source location of the service.” continues
This project will be undertaken by Edward Tomasz Napierala. “Unlike Solaris zones, the current implementation of FreeBSD Jails does not provide per-jail resource limits. As a result, users are often forced to replace jails with other virtualization mechanisms. The goal of this project is to create a single, unified framework for controlling resource utilisation, and to use that framework to implement per-jail resource limits. In the future, the same framework might be used to implement more sophisticated resource controls, such as Hierarchical Resource Limits, or to implement mechanisms similar to AIX WLM. It could also be used to provide precise resource usage accounting for administrative or billing purposes.”
“It’s great that the Foundation decided to fund this project. It will make jail-based virtualization a much better choice in many scenarios, for example for Virtual Private Server providers.”
II DTrace Userland Project
Rui Paulo has been awarded a grant to add DTrace userland support to FreeBSD.
DTrace is a general purpose and lightweight tracing framework that allows administrators, developers and users to investigate causes of system failure or performance bottlenecks. The FreeBSD operating system has had support for kernel-only DTrace since FreeBSD 8.0, but DTrace userland support was missing. Having userland support in DTrace allows inspection of userland software itself and its correlation with the kernel, thus allowing a much better picture of what exactly is going on behind the scenes.
This project will first concentrate on adding libproc support for symbol to address mapping, address to symbol mapping, breakpoint setup and the rtld interactions with DTrace. Next it will focus on DTrace process control, importing the pid provider and adapting it to FreeBSD and porting the userland statically defined probe provider (usdt). Finally it will bring in the plockstat provider.
“By having userland DTrace support, companies can make their products perform much better on FreeBSD due to the fact that they now have access to this amazing tool. When we mix the userland support with the kernel side DTrace support, we can also make FreeBSD a better operating system because we can investigate performance bottlenecks much easier.”
said FreeBSD developer Rui Paul
Well done to Rui and Edward. We’re looking forward to testing the results of their work at the end of the year. If you wish to see more of these sort of projects, you can donate to the FreeBSD Foundation.
The new PC-BSD installer (available as GUI and text installer), which is also able to install plain FreeBSD, has now been committed to the FreeBSD source tree. This video goes into the details of the installer.
Kris Moore: PC-SYSINSTALL – A new system installer backend for PC-BSD and FreeBSD
ZFS v15 brings in user and group quotas and help is needed to test, before it’s imported.
I would like to do a call for testing for my ZFS v15 patch.
As the user/group quotas feature is too much attractive for my needs, I couldn’t resist and have created (and debugged + tested) a ZFS v15 patch for head (applies cleanly against stable/8 as well).
It is a backport of several onnv-revisions, always consulting pjd’s p4 tree and includes four post-9396 related user/groupquota bugfixes. The bootcode (zfsimpl.h) is properly updated to support v15 as well, the python part is modified (paths, smb support, ioctls). Continues
Nvidia Releases a Much Improved Video Driver
Nvidia announced on June 22nd the final and stable version of the 256.x proprietary driver for Nvidia graphics cards. Nvidia 256.35 incorporates lots of fixes and improvements, over previous releases. Unofficial GLX support was also added for a few OpenGL extensions, as well as Thermal Settings reporting improvements, Compiz fixes, many VDPAU improvements, and many more. Without further introduction, let’s take a look at some of the most important changes brought by the Nvidia 256.35 video driver (via)
In a software project as large as NetBSD the interactions between different software components are not always immediately obvious to even the most skilled programmers. Tests help ensure that the system functions according to the desired criteria. Periodic automated runs of these tests with results visible on the web ensures both that tests are run in a regular fashion and that the results are available to all interested parties.
This short article explains the NetBSD test strategies and provides a brief overview of the enabling technologies. It also details how effortless it is to run the test suite and why doing so is in every developer’s, patch submitter’s and system administrator’s best interest. The intended audience is people with a keen interest in testing and quality assurance, and a desire to reduce personal headache. The article is written against NetBSD-current as of June 2010 and applies to what will eventually become NetBSD 6.
Codeweavers, the company behind CrossOver, is according to their website, the leading corporate backer of the Wine Project. Wine is an open source software initiative that is systematically re-implementing the Win32 API under Unix. Wine makes it possible for PCs running Unix-based operating systems (like OS X and Linux) to run Windows application as if natively. CrossOver is comparible to Bordeaux.
CrossOver for FreeBSD is a commercial variant of Wine released by CodeWeavers with (currently) limited support for many of today’s most popular office application and games. CrossOver Office and Games for FreeBSD is tested for performance and stability with many of todays most popular games such as Guild Wars, Eve Online, and Steam games like Half-Life 2 and Portal. As well as many of todays most popular Office application such as Microsoft Office 97 to 2007, Quicken, Quickbooks, Photoshop, Internet Explorer and many other not mentioned applications.
This project includes several enhancements to the existing FreeBSD SNMP framework, including SNMPv3-compliant user authentication, packet encryption and view-based access control. In addition, the project also includes a new module that will allow full SNMP management and monitoring of the FreeBSD wireless networking stack. When the
project is completed, FreeBSD should be the OS of choice when building open source-based embedded wireless appliances due to the advanced capabilities of its wireless network stack, and the light-weight, secure and complete management solution that bsnmpd(1) will provide out of the box. Existing FreeBSD installations that use bsnmpd(1) for
monitoring will also benefit from the added security and finer-grained access-control to SNMP data.
“SNMP is the defacto standard for network monitoring,”
said Shteryana Shopova, FreeBSD developer. She also added,
“SNMP is used everywhere – in network servers, switches, routers, firewalls, workstations, ip phones, printers, UPSs, all sorts of embedded appliances. I am happy to have the opportunity to work on several additions to bsnmpd(1) that have been requested by the FreeBSD community.”