MITRE names The Document Foundation as a CVE Numbering Authority (CNA)

Berlin, March 15, 2019 – MITRE announced that The Document Foundation, the home of LibreOffice, has been approved as CVE Numbering Authority (CNA). The Document Foundation is at the center of one of the largest free open source software ecosystems, where enterprise sponsored developers and contributors work side by side with volunteers coming from every continent. The nomination is the result of significant investments in security provided by the LibreOffice Red Hat team under Caolán McNamara leadership.

What is CVE?

Common Vulnerabilities and Exposures (CVE) is a reference list of public cybersecurity vulnerabilities, with entries that describe those vulnerabilities and provide references for them. These references are often used as the vulnerability names, especially in security updates. To date, LibreOffice has a track record of rapid response to all reported threats.

What is a CVE Numbering Authority (CNA)?

A CNA is an organization that can assign and announce CVE entries within a particular scope. Some CNAs are organizations providing CVEs for their products such as The Document Foundation.

How will The Document Foundation assign CVEs?

The Document Foundation Security Team provides a forum for all of the vendors and individuals who contribute to LibreOffice development to co-ordinate the work of protecting our users from threats related to the application.

As a CNA, The Document Foundation Security Team now has the ability to assign CVE IDs to vulnerabilities affecting our products, the ability to control the disclosure of vulnerability information without pre-publishing, and notification of vulnerabilities in our products by researchers who request a CVE ID from us.

LibreOffice Conference 2018: More presentation videos

The next batch of videos from our conference in Tirana is online. (Use headphones for the best audio.)

First, Simon Phipps talks about the 20th anniversary of the Open Source Initiative:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Then Heiko Tietze provides some news from the LibreOffice design team:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Finally, Caolan McNamara describes some updates to the native GTK UI:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Many more videos still to come!

Interview: Guilhem Moulin on LibreOffice infrastructure and services

A large free and open source software project like LibreOffice requires a lot of infrastructure, to support our users, developers and worldwide community. Today we speak to Guilhem Moulin, who is in charge of TDF’s infrastructure and services, about new developments and how others can get involved…

To start, please give us a quick overview of TDF’s public infrastructure.

The public infrastructure is powered by about 50 Kernel-based Virtual Machines (KVM) spread across 4 hypervisors plugged to an internal 10Gbps switch and hosted at Manitu in St. Wendel (Germany), and managed with libvirt and its KVM/QEMU driver. The virtual disk images are typically stored in GlusterFS volumes — distributed across the hypervisors — except for some transient disks (such as cache) where the IOPS need is higher and the redundancy less important.

All our public VMs run Debian GNU/Linux (currently a mix of Jessie — which are to be upgraded — and Stretch), each typically hosting a single service for better isolation. The rest of the stack is fairly usual: systemd as PID 1 & service manager, a mix of MySQL and PostgreSQL as RDMS, and nginx as SSL/TLS endpoint & reverse HTTP proxy. All of this is orchestrated and managed using saltstack.

About half of our Virtual Machines host public-facing websites; the other half are used for test instances, various production backends and internal services, as well as for tinderboxes and other hacking VMs. Some of these websites are mostly useful for developers, such our Bugzilla or gerrit instances — an overview of the development-focused sites can be found at https://devcentral.libreoffice.org. The remaining sites include the main LibreOffice website, the download page, the Wiki, Askbot, and of course the blog.

Beside these VMs, we also operate a handful of other machines for backups, monitoring, and mail systems, which are hosted offsite for obvious reasons.

What have been the most significant infra developments in the last six months?

Single Sign On (SSO) is probably what’s been the most visible to the community. Traditionally each frontend (Wiki, Bugzilla, Askbot, etc.) has its own private authentication backend, so once someone sign in to multiple services, they would have to remember multiple sets of credentials, which is cumbersome and makes password & email rotation difficult.

We now have a central authentication system (which uses an LDAP DIT as backend), but aren’t pointing individual services to it, as it would 1/ expose the shared credentials to all services hence increase the attack surface; and 2/ doesn’t solve the fact that users would have to enter their password to each service individually. Instead we’re deploying a solution using the SAML 2.0 protocol: unauthenticated users are redirected to an authentication portal against which they can authenticate, and they are redirected to the protected page afterwards.

Not all services have been migrated to SSO yet. An issue is that we have to unify accounts (people use different usernames in different services); and while we want a “critical mass” of active user accounts in LDAP before migrating a service, it’s been rather difficult to reach out to people — even among TDF officials! — and convince them to create an account in the new system. Fortunately since we migrated the authentication system of our wiki, more and more people (among whom a lot of dormant accounts, probably spammers unfortunately) started using the new system.

While it’s only visible to infra team members, we also replaced our Graphite (+ Carbon + Icinga2) based monitoring system with Prometheus (+ data exporters + alert manager). Furthermore, still on the monitoring front but public this time, we just deployed a new service, CachetHQ, to show a quick overview of TDF’s infra status:
https://status.documentfoundation.org.

Last but not least, earlier this spring we were fairly busy with GDPR compliance.

What are you working on at the moment, and what are your plans for the next six months?

Aside from daily maintenance and occasional emergencies (system crashes, hardware hiccups, performances issues, etc.), infra team members still spends quite a lot of time on the above, as this is not completely finished yet. Projects for next year include working on a better backup solution, in particular regarding database snapshots. The data collection system for download metrics needs some improvement, too.

Finally, what cool things can new volunteer admins do to get involved and help the project?

We have a wide variety of systems, ranging for highly sensitive (election, internal mail, LDAP DIT, whitebox monitoring) to pretty much fully public beside the access logs (bitergia dashboard, blackbox monitoring). We can’t give upfront access to the sensitive side of the spectrum to everyone, but there are things to help with on the other side too (developer-focused services are typically less sensitive, since development is open anyway).

Sometimes we also start fresh and replace a service with something equivalent on a brand new box; in that case there is no sensitive data at stake, and it’s a great way for new volunteer admins to gain trust. I mentioned the monitoring migration earlier; we could also imagine replacing our ageing MirrorBrain deployment with a more modern solution like Mirrorbits, for instance.

Thanks to Guilhem for his time and help. If you’re interested in joining our infra community and gaining valuable experience in a large FOSS project, see here to get started!

LibreOffice at droidcon Vienna

LibreOffice is available for Android smartphones and tablets – albeit as a “Viewer” application, for checking documents on the go. There is an experimental editing mode, but it still needs more work, and we’d love to have more help and feedback to improve it!

So to spread the word amongst potential contributors, Christian “Cloph” Lohmaier (LibreOffice’s release engineer) and Mike Saunders attended droidcon Vienna on 21st and 22nd of September.

Organised by AndroidHeads and the Google Developer Group Vienna, droidcon is made up of 20 sessions on various topics. On the first day, Cloph gave a talk titled “Struggles with a large native app, LibreOffice’s attempts at Android”, describing the first stages of development of the LibreOffice Viewer, challenges faced along the way, and the next steps to take. Full slides from the talk are here.

At the end of the talk, there were some questions from the audience about the build process and testing. As Cloph explained, the Viewer app doesn’t have many user interface elements to test, so the main issues are related to the “lifecycle” – ie when users open and close the app, rotate their devices, and so forth. And regarding the build system, Cloph noted that it’s much better today, compared to the early days of the app.

Meanwhile, one of the recurring topics at the conference was Kotlin, a “statically typed programming language for modern multiplatform applications” that runs on the Java VM. Kotlin is growing in popularity, so if you’re interested in the language and the possibility of converting the LibreOffice Android apps (including the Impress Remote), give us a hand! Our wiki has information on building the apps, and you can also talk to our developer community on IRC and mailing lists too.

Finally, after the first day of droidcon, there was an evening party with more opportunity to share ideas and meet people. So thanks to the organisers, and now we move on to the LibreOffice Conference 2018 in Tirana, which is just a few days away…!

How LibreOffice’s quality has improved thanks to automated tools and the volunteer contribution of security specialists

Last Coverity Scan metrics about LibreOffice, with 0 outstanding defects on 6 million lines of code. Kudos to our developers.

Berlin, July 25, 2018 – The Document Foundation celebrates five years of improvements to LibreOffice’s source code under Red Hat’s leadership, thanks to the adoption of automated tools such as Coverity Scan and Google OSS-Fuzz, and to the key contributions in the area of source code fuzzing of security specialists such as Antti Levomäki and Christian Jalio of Forcepoint.

“The combination of Coverity Scan, Google OSS-Fuzz and dedicated fuzzing by security specialists at Forcepoint has allowed us to catch bugs – which could have turned into security issues – before a release,” says Red Hat’s Caolán McNamara, a senior developer and the leader of the security team at LibreOffice.

Since 2013, Coverity Scan has helped to reduce the number of issues by several orders of magnitude (from 0.93 to 0.00093 per 1,000 lines of code). The score is significantly better than the FOSS software average of 0.65 and the proprietary software average of 0.71.

LibreOffice defect density score during the last two years

The Coverity Scan score is related to a static analysis to find source code defects and vulnerabilities. In static analysis, the code under examination is not executed. As such, the score does not represent an absolute value about quality and security of the software when executed on end user desktops.

More recently, developers have implemented fuzzing or fuzz testing, a technique that involves providing invalid, unexpected or random data as inputs to a program, which is then monitored for exceptions such as crashes or failing built-in code assertions, or for potential memory leaks. Fuzzing is able to catch issues just a few hours after they appear in the upstream source code repository, and help to solve bugs and potential security issues before they reach the end user.

#abetterlibreoffice

LibreOffice talks and presentations at FOSDEM 2018

FOSDEM is a major event in the free and open source software world – thousands of FOSS supporters get together to discuss new features, work on bugs, make new contacts, and just have a great time.

This year, many members of the LibreOffice community were there too, and gave talks and presentations in the Open Document Editors devroom. We’ve added the videos to a playlist, embedded below, so enjoy browsing through them to see what’s to come in LibreOffice! (Click the button in the top-left to switch between videos in the playlist.)

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.