Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1477656 - (CVE-2017-12134, xsa229) CVE-2017-12134 xsa229 xen: linux: Fix Xen block IO merge-ability calculation (XSA-229)
CVE-2017-12134 xsa229 xen: linux: Fix Xen block IO merge-ability calculation ...
Status: NEW
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
unspecified
All Linux
medium Severity medium
: ---
: ---
Assigned To: Red Hat Product Security
impact=moderate,public=20170815,repor...
: Security
Depends On: 1481765 1481786
Blocks:
  Show dependency treegraph
 
Reported: 2017-08-02 10:43 EDT by Adam Mariš
Modified: 2017-08-15 13:36 EDT (History)
13 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Adam Mariš 2017-08-02 10:43:09 EDT
ISSUE DESCRIPTION
=================

The block layer in Linux may choose to merge adjacent block IO requests.
When Linux is running as a Xen guest, the default merging algorithm is
replaced with a Xen-specific one.  When Linux is running as an x86 PV
guest, some BIO's are erroneously merged, corrupting the data stream
to/from the block device.

This can result in incorrect access to an uncontrolled adjacent frame.

IMPACT
======

A buggy or malicious guest can cause Linux to read or write incorrect
memory when processing a block stream.  This could leak information from
other guests in the system or from Xen itself, or be used to DoS or
escalate privilege within the system.

VULNERABLE SYSTEMS
==================

All x86 Xen systems using pvops Linux in a backend role (either as
dom0, or as a disk device driver domain) are affected.  This includes
upstream Linux versions 2.6.37 and later.  Systems using the older
classic-linux fork are not affected.

All PV x86 domains doing block IO on behalf of a guest, including dom0
and any PV driver domains, are vulnerable.  (Any HVM driver domains
running are not vulnerable.)  This includes Xen vbd backends such as
blkback, but also direct IO performed for the guest via eg qemu.

ARM systems are not affected.

The vulnerability is only exposed if the underlying block device has
request merging enabled.  See Mitigation.

The vulnerability is only exposed to configurations which use grant
mapping as a transport mechanism for the block data.  Configurations
which use exclusively grant copy are not vulnerable.

MITIGATION
==========

Disable bio merges on all relevant underlying backend block devices.
For example,
echo 2 > /sys/block/nvme0n1/queue/nomerges

External References:

http://xenbits.xen.org/xsa/advisory-229.html
Comment 2 Adam Mariš 2017-08-15 08:33:40 EDT
Acknowledgments:

Name: the Xen project
Upstream: Jan H. Schönherr (Amazon)
Comment 3 Adam Mariš 2017-08-15 12:15:39 EDT
Created xen tracking bugs for this issue:

Affects: fedora-all [bug 1481765]

Note You need to log in before you can comment on or make changes to this bug.