
====================================================================

                             CERT-Renater

                 Note d'Information No. 2018/VULN074
_____________________________________________________________________

DATE                : 23/02/2018

HARDWARE PLATFORM(S): /

OPERATING SYSTEM(S): Systems running Drupal core versions 7, 8 prior to
                                      8.4.5, 7.57.

=====================================================================
https://www.drupal.org/sa-core-2018-001
_____________________________________________________________________

Drupal core - Critical - Multiple Vulnerabilities - SA-CORE-2018-001

Project: Drupal core
Version: 8.4.x-dev
         7.x-dev
Date:    2018-February-21
Security risk:
Critical 16∕25 AC:Basic/A:User/CI:Some/II:Some/E:Exploit/TD:Default
Vulnerability: Multiple Vulnerabilities


Description:

This security advisory fixes multiple vulnerabilities in both Drupal 7
and Drupal 8. See below for a list.
Comment reply form allows access to restricted content - Critical -
Drupal 8

Users with permission to post comments are able to view content and
comments they do not have access to, and are also able to add comments
to this content.

This vulnerability is mitigated by the fact that the comment system
must be enabled and the attacker must have permission to post comments.
JavaScript cross-site scripting prevention is incomplete - Critical -
Drupal 7 and Drupal 8

Drupal has a Drupal.checkPlain() JavaScript function which is used to
escape potentially dangerous text before outputting it to HTML (as
JavaScript output does not typically go through Twig autoescaping).
This function does not correctly handle all methods of injecting
malicious HTML, leading to a cross-site scripting vulnerability under
certain circumstances.

The PHP functions which Drupal provides for HTML escaping are not
affected.


Private file access bypass - Moderately Critical - Drupal 7

When using Drupal's private file system, Drupal will check to make sure
a user has access to a file before allowing the user to view or
download it. This check fails under certain conditions in which one
module is trying to grant access to the file and another is trying to
deny it, leading to an access bypass vulnerability.

This vulnerability is mitigated by the fact that it only occurs for
unusual site configurations.


jQuery vulnerability with untrusted domains - Moderately Critical -
Drupal 7

A jQuery cross site scripting vulnerability is present when making Ajax
requests to untrusted domains. This vulnerability is mitigated by the
fact that it requires contributed or custom modules in order to exploit.

For Drupal 8, this vulnerability was already fixed in Drupal 8.4.0 in
the Drupal core upgrade to jQuery 3. For Drupal 7, it is fixed in the
current release (Drupal 7.57) for jQuery 1.4.4 (the version that ships
with Drupal 7 core) as well as for other newer versions of jQuery that
might be used on the site, for example using the jQuery Update module.


Language fallback can be incorrect on multilingual sites with node
access restrictions - Moderately Critical - Drupal 8

When using node access controls with a multilingual site, Drupal marks
the untranslated version of a node as the default fallback for access
queries. This fallback is used for languages that do not yet have a
translated version of the created node. This can result in an access
bypass vulnerability.

This issue is mitigated by the fact that it only applies to sites that
a) use the Content Translation module; and b) use a node access module
such as Domain Access which implement hook_node_access_records().

Note that the update will mark the node access tables as needing a
rebuild, which will take a long time on sites with a large number of
nodes.


Settings Tray access bypass - Moderately Critical - Drupal 8

The Settings Tray module has a vulnerability that allows users to
update certain data that they do not have the permissions for.

If you have implemented a Settings Tray form in contrib or a custom
module, the correct access checks should be added. This release fixes
the only two implementations in core, but does not harden against other
such bypasses.

This vulnerability can be mitigated by disabling the Settings Tray
module.


External link injection on 404 pages when linking to the current page -
Less Critical - Drupal 7

Drupal core has an external link injection vulnerability when the
language switcher block is used. A similar vulnerability exists in
various custom and contributed modules. This vulnerability could allow
an attacker to trick users into unwillingly navigating to an external
site.


Solution:

Install the latest version:

    If you are using Drupal 8 , upgrade to Drupal 8.4.5
    If you are using Drupal 7 , upgrade to Drupal 7.57


Reported By:

    Comment reply form allows access to restricted content - Critical -
Drupal 8
        Ivan

    JavaScript cross-site scripting prevention is incomplete - Critical
- Drupal 7 and Drupal 8)
        Grant Gaudet

    Private file access bypass - Moderately Critical - Drupal 7
        Anders Olsson

    jQuery vulnerability with untrusted domains - Moderately Critical -
Drupal 7
        will c

    Language fallback can be incorrect on multilingual sites with node
access restrictions - Moderately Critical - Drupal 8
        Ken Rickard

    Settings Tray access bypass - Moderately Critical - Drupal 8
        Ted Bowman

    External link injection on 404 pages when linking to the current
page - Less Critical - Drupal 7
        David Rothstein of the Drupal Security Team


Fixed By:

    Comment reply form allows access to restricted content - Critical -
Drupal 8
        Ivan
        Lee Rowlands of the Drupal Security Team
        David Rothstein of the Drupal Security Team
        Nathaniel Catchpole of the Drupal Security Team
        Jess of the Drupal Security Team
        Wim Leers
        Ted Bowman
        Matthew Donadio
        Tim Plunkett
        Peter Wolanin of the Drupal Security Team

    JavaScript cross-site scripting prevention is incomplete - Critical
- Drupal 7 and Drupal 8)
        Grant Gaudet
        Kay Leung
        Heine Deelstra of the Drupal Security Team
        Peter Wolanin of the Drupal Security Team
        David Rothstein of the Drupal Security Team
        Jess of the Drupal Security Team
        Cash Williams of the Drupal Security Team
        Matthew Grill
        Fatima Sarah Khalid

    Private file access bypass - Moderately Critical - Drupal 7
        David Rothstein of the Drupal Security Team
        Lee Rowlands of the Drupal Security Team
        Jess of the Drupal Security Team
        Stefan Ruijsenaars of the Drupal Security Team
        Ken Rickard

    jQuery vulnerability with untrusted domains - Moderately Critical -
Drupal 7
        Chris McCafferty of the Drupal Security Team
        Matthew Grill
        will c
        David Rothstein of the Drupal Security Team
        Greg Knaddison of the Drupal Security Team
        Jess of the Drupal Security Team
        Alex Bronstein of the Drupal Security Team

    Language fallback can be incorrect on multilingual sites with node
access restrictions - Moderately Critical - Drupal 8
        Francesco Placella
        Gábor Hojtsy
        Michael Schmid
        Ken Rickard
        Tobias Zimmermann
        Jess of the Drupal Security Team
        Sascha Grossenbacher

    Settings Tray access bypass - Moderately Critical - Drupal 8
        Ted Bowman
        Lee Rowlands of the Drupal Security Team
        Wim Leers
        Jess of the Drupal Security Team
        Samuel Mortenson
        Daniel Wehner
        David Rothstein of the Drupal Security Team

    External link injection on 404 pages when linking to the current
page - Less Critical - Drupal 7
        David Rothstein of the Drupal Security Team
        Samuel Mortenson

==========================================================
+ CERT-RENATER          | tel : 01-53-94-20-44           +
+ 23 - 25 Rue Daviel    | fax : 01-53-94-20-41           +
+ 75013 Paris           | email: cert@support.renater.fr +
==========================================================



