Embargoed hardware issues

Scope

Hardware issues which result in security problems are a different category of security bugs than pure software bugs which only affect the Linux kernel.

Hardware issues like Meltdown, Spectre, L1TF etc. must be treated differently because they usually affect all Operating Systems ("OS") and therefore need coordination across different OS vendors, distributions, hardware vendors and other parties. For some of the issues, software mitigations can depend on microcode or firmware updates, which need further coordination.

Contact

The Linux kernel hardware security team is separate from the regular Linux kernel security team.

The team only handles developing fixes for embargoed hardware security issues. Reports of pure software security bugs in the Linux kernel are not handled by this team and the reporter will be guided to contact the regular Linux kernel security team (Documentation/admin-guide/) instead.

The team can be contacted by email at <hardware-security@kernel.org>. This is a private list of security officers who will help you to coordinate a fix according to our documented process.

The list is encrypted and email to the list can be sent by either PGP or S/MIME encrypted and must be signed with the reporter's PGP key or S/MIME certificate. The list's PGP key and S/MIME certificate are available from the following URLs:

While hardware security issues are often handled by the affected hardware vendor, we welcome contact from researchers or individuals who have identified a potential hardware flaw.

Hardware security officers

The current team of hardware security officers:

  • Linus Torvalds (Linux Foundation Fellow)

  • Greg Kroah-Hartman (Linux Foundation Fellow)

  • Thomas Gleixner (Linux Foundation Fellow)

Operation of mailing-lists

The encrypted mailing-lists which are used in our process are hosted on Linux Foundation's IT infrastructure. By providing this service, members of Linux Foundation's IT operations personnel technically have the ability to access the embargoed information, but are obliged to confidentiality by their employment contract. Linux Foundation IT personnel are also responsible for operating and managing the rest of kernel.org infrastructure.

The Linux Foundation's current director of IT Project infrastructure is Konstantin Ryabitsev.

Non-disclosure agreements

The Linux kernel hardware security team is not a formal body and therefore unable to enter into any non-disclosure agreements. The kernel community is aware of the sensitive nature of such issues and offers a Memorandum of Understanding instead.

Memorandum of Understanding

The Linux kernel community has a deep understanding of the requirement to keep hardware security issues under embargo for coordination between different OS vendors, distributors, hardware vendors and other parties.

The Linux kernel community has successfully handled hardware security issues in the past and has the necessary mechanisms in place to allow community compliant development under embargo restrictions.

The Linux kernel community has a dedicated hardware security team for initial contact, which oversees the process of handling such issues under embargo rules.

The hardware security team identifies the developers (domain experts) who will form the initial response team for a particular issue. The initial response team can bring in further developers (domain experts) to address the issue in the best technical way.

All involved developers pledge to adhere to the embargo rules and to keep the received information confidential. Violation of the pledge will lead to immediate exclusion from the current issue and removal from all related mailing-lists. In addition, the hardware security team will also exclude the offender from future issues. The impact of this consequence is a highly effective deterrent in our community. In case a violation happens the hardware security team will inform the involved parties immediately. If you or anyone becomes aware of a potential violation, please report it immediately to the Hardware security officers.

Process

Due to the globally distributed nature of Linux kernel development, face-to-face meetings are almost impossible to address hardware security issues. Phone conferences are hard to coordinate due to time zones and other factors and should be only used when absolutely necessary. Encrypted email has been proven to be the most effective and secure communication method for these types of issues.

Start of Disclosure

Disclosure starts by contacting the Linux kernel hardware security team by email. This initial contact should contain a description of the problem and a list of any known affected hardware. If your organization builds or distributes the affected hardware, we encourage you to also consider what other hardware could be affected.

The hardware security team will provide an incident-specific encrypted mailing-list which will be used for initial discussion with the reporter, further disclosure, and coordination of fixes.

The hardware security team will provide the disclosing party a list of developers (domain experts) who should be informed initially about the issue after confirming with the developers that they will adhere to this Memorandum of Understanding and the documented process. These developers form the initial response team and will be responsible for handling the issue after initial contact. The hardware security team is supporting the response team, but is not necessarily involved in the mitigation development process.

While individual developers might be covered by a non-disclosure agreement via their employer, they cannot enter individual non-disclosure agreements in their role as Linux kernel developers. They will, however, agree to adhere to this documented process and the Memorandum of Understanding.

The disclosing party should provide a list of contacts for all other entities who have already been, or should be, informed about the issue. This serves several purposes:

  • The list of disclosed entities allows communication across the industry, e.g. other OS vendors, HW vendors, etc.

  • The disclosed entities can be contacted to name experts who should participate in the mitigation development.

  • If an expert which is required to handle an issue is employed by an listed entity or member of an listed entity, then the response teams can request the disclosure of that expert from that entity. This ensures that the expert is also part of the entity's response team.

Disclosure

The disclosing party provides detailed information to the initial response team via the specific encrypted mailing-list.

From our experience the technical documentation of these issues is usually a sufficient starting point and further technical clarification is best done via email.

Mitigation development

The initial response team sets up an encrypted mailing-list or repurposes an existing one if appropriate.

Using a mailing-list is close to the normal Linux development process and has been successfully used in developing mitigations for various hardware security issues in the past.

The mailing-list operates in the same way as normal Linux development. Patches are posted, discussed and reviewed and if agreed on applied to a non-public git repository which is only accessible to the participating developers via a secure connection. The repository contains the main development branch against the mainline kernel and backport branches for stable kernel versions as necessary.

The initial response team will identify further experts from the Linux kernel developer community as needed. Bringing in experts can happen at any time of the development process and needs to be handled in a timely manner.

If an expert is employed by or member of an entity on the disclosure list provided by the disclosing party, then participation will be requested from the relevant entity.

If not, then the disclosing party will be informed about the experts participation. The experts are covered by the Memorandum of Understanding and the disclosing party is requested to acknowledge the participation. In case that the disclosing party has a compelling reason to object, then this objection has to be raised within five work days and resolved with the incident team immediately. If the disclosing party does not react within five work days this is taken as silent acknowledgement.

After acknowledgement or resolution of an objection the expert is disclosed by the incident team and brought into the development process.

List participants may not communicate about the issue outside of the private mailing list. List participants may not use any shared resources (e.g. employer build farms, CI systems, etc) when working on patches.

Coordinated release

The involved parties will negotiate the date and time where the embargo ends. At that point the prepared mitigations are integrated into the relevant kernel trees and published. There is no pre-notification process: fixes are published in public and available to everyone at the same time.

While we understand that hardware security issues need coordinated embargo time, the embargo time should be constrained to the minimum time which is required for all involved parties to develop, test and prepare the mitigations. Extending embargo time artificially to meet conference talk dates or other non-technical reasons is creating more work and burden for the involved developers and response teams as the patches need to be kept up to date in order to follow the ongoing upstream kernel development, which might create conflicting changes.

CVE assignment

Neither the hardware security team nor the initial response team assign CVEs, nor are CVEs required for the development process. If CVEs are provided by the disclosing party they can be used for documentation purposes.

Process ambassadors

For assistance with this process we have established ambassadors in various organizations, who can answer questions about or provide guidance on the reporting process and further handling. Ambassadors are not involved in the disclosure of a particular issue, unless requested by a response team or by an involved disclosed party. The current ambassadors list:

AMD

Tom Lendacky <thomas.lendacky@amd.com>

Ampere

Darren Hart <darren@os.amperecomputing.com>

ARM

Catalin Marinas <catalin.marinas@arm.com>

IBM Power

Anton Blanchard <anton@linux.ibm.com>

IBM Z

Christian Borntraeger <borntraeger@de.ibm.com>

Intel

Tony Luck <tony.luck@intel.com>

Qualcomm

Trilok Soni <tsoni@codeaurora.org>

RISC-V

Palmer Dabbelt <palmer@dabbelt.com>

Samsung

Javier González <javier.gonz@samsung.com>

Microsoft

James Morris <jamorris@linux.microsoft.com>

Xen

Andrew Cooper <andrew.cooper3@citrix.com>

Canonical

John Johansen <john.johansen@canonical.com>

Debian

Ben Hutchings <ben@decadent.org.uk>

Oracle

Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Red Hat

Josh Poimboeuf <jpoimboe@redhat.com>

SUSE

Jiri Kosina <jkosina@suse.cz>

Google

Kees Cook <keescook@chromium.org>

LLVM

Nick Desaulniers <ndesaulniers@google.com>

If you want your organization to be added to the ambassadors list, please contact the hardware security team. The nominated ambassador has to understand and support our process fully and is ideally well connected in the Linux kernel community.

Encrypted mailing-lists

We use encrypted mailing-lists for communication. The operating principle of these lists is that email sent to the list is encrypted either with the list's PGP key or with the list's S/MIME certificate. The mailing-list software decrypts the email and re-encrypts it individually for each subscriber with the subscriber's PGP key or S/MIME certificate. Details about the mailing-list software and the setup which is used to ensure the security of the lists and protection of the data can be found here: https://korg.wiki.kernel.org/userdoc/remail.

List keys

For initial contact see Contact. For incident specific mailing-lists the key and S/MIME certificate are conveyed to the subscribers by email sent from the specific list.

Subscription to incident specific lists

Subscription is handled by the response teams. Disclosed parties who want to participate in the communication send a list of potential subscribers to the response team so the response team can validate subscription requests.

Each subscriber needs to send a subscription request to the response team by email. The email must be signed with the subscriber's PGP key or S/MIME certificate. If a PGP key is used, it must be available from a public key server and is ideally connected to the Linux kernel's PGP web of trust. See also: https://www.kernel.org/signature.html.

The response team verifies that the subscriber request is valid and adds the subscriber to the list. After subscription the subscriber will receive email from the mailing-list which is signed either with the list's PGP key or the list's S/MIME certificate. The subscriber's email client can extract the PGP key or the S/MIME certificate from the signature so the subscriber can send encrypted email to the list.