Project
GNOME is a fully featured desktop environment and application platform for Linux. It is used by people all over the world (on e.g. Ubuntu, Fedora, RHEL, Tails) in many different security-critical contexts, including by activists, journalists, corporations, and governments. This makes it a valuable target to attack, and is why it's critical to keep it secure.
The GNOME desktop consists of hundreds of individual modules. However, to begin with we're focusing this bug bounty program on two critical components, GLib and libsoup.
This bug bounty program is managed by the Sovereign Tech Fund.
Program Rules
- We are convinced that external review by skilled security researchers is crucial to identifying weaknesses in our software.
- We are pleased to collaborate with you to resolve issues in our specifications and software, and to fairly reward you for the discovery of new security issues.
- Any type of attacks on our infrastructure, including our source code repositories, is prohibited.
- When you report an issue, we must be able to reproduce it with our setup.
- An issue reported to us is considered to be a duplicate if it describes a similar attack to a known vulnerability (including issues received outside of YesWeHack) regardless of the component affected. That is, the triage team will use the "One Fix One Reward" process: if two or more programs or libraries use the same code base and a single fix can be deployed to fix all the others' weaknesses, only one issue will be considered as eligible for a reward, and other reports will be closed as Informative. We reward based on vulnerability, not per issue.
- When reporting bugs against libraries, please ensure your proof of concept program does not itself violate preconditions of the library's public API functions, unless the violation results from a bug in GNOME code. Especially be sure to respect GLib's rule regarding valid UTF-8 string encoding. Failure to UTF-8 validate untrusted input is a vulnerability in the code using the library. GLib's UTF-8 string encoding rules apply to all GNOME libraries unless documented otherwise.
- Please note that denial of service issues have been removed from the program scope.
Important precautions and limitations
As a complement to the program rules and testing policy:
- DO NOT include Personally Identifiable Information (PII) in your
report and please REDACT/OBFUSCATE the PII that is part of your PoC
(screenshot, terminal transcripts, etc.) as much as possible.
- DO NOT include secret key material unless that has been created exclusively for testing purposes.
Scopes
Modules:
- libsoup: HTTP client/server library for GNOME. It uses GObjects
and the glib main loop, to integrate well with GNOME applications.
- GLib: Low-level core library providing data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system.
- glib-networking: Implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies.
Eligibility
We are happy to thank everyone who submits valid reports that help us improve the security of GNOME; however, only those that meet the following eligibility requirements may receive a monetary reward:
- You must be the first reporter of a vulnerability
- The vulnerability must be a qualifying vulnerability (see below)
- You must send a clear textual description of the report along with steps to reproduce the issue, include attachments such as screenshots as necessary. PoC exploit code in the form of a unit test similar in style to those already present in the code (where applicable) is highly appreciated.
- You must not be a regular contributor to GNOME or the relevant modules
- Our analysis is always based on the worst impact demonstrated in your PoC
- When reviewing source code, the "main" or "master" branches represent the current versions that are available as packages. Only reports for those branches will be eligible for bounty
In Scope
Scope Type |
Scope Name |
undefined |
GLib |
undefined |
glib-networking |
undefined |
libsoup |
Out of Scope
Scope Type |
Scope Name |
undefined |
json-glib |
undefined |
libxml2 |
undefined |
libxslt |
undefined |
gdk-pixbuf |
undefined |
librsvg |
undefined |
vte |
undefined |
gtk |
undefined |
flatpak |
undefined |
xdg-desktop-portal |
undefined |
xdg-desktop-portal-gnome |
undefined |
GNOME Shell (particularly lock screen) |
undefined |
gdm |
undefined |
tracker-miners |
undefined |
libsecret |
undefined |
Only the list of modules in the description is in scope. We may add more modules in the future such as |
undefined |
oo7 |
This policy crawled by Onyphe on the 2024-06-25 is sorted as bounty.