FreeBSD : Django -- multiple vulnerabilities (6e65dfea-b614-11e9-a3a2-1506e15611cc)

critical Nessus Plugin ID 127547

Language:

Synopsis

The remote FreeBSD host is missing one or more security-related updates.

Description

Django release notes :

CVE-2019-14232: Denial-of-service possibility in django.utils.text.Truncator

If django.utils.text.Truncator's chars() and words() methods were passed the html=True argument, they were extremely slow to evaluate certain inputs due to a catastrophic backtracking vulnerability in a regular expression. The chars() and words() methods are used to implement the truncatechars_html and truncatewords_html template filters, which were thus vulnerable

The regular expressions used by Truncator have been simplified in order to avoid potential backtracking issues. As a consequence, trailing punctuation may now at times be included in the truncated output.

CVE-2019-14233: Denial-of-service possibility in strip_tags()

Due to the behavior of the underlying HTMLParser, django.utils.html.strip_tags() would be extremely slow to evaluate certain inputs containing large sequences of nested incomplete HTML entities. The strip_tags() method is used to implement the corresponding striptags template filter, which was thus also vulnerable.

strip_tags() now avoids recursive calls to HTMLParser when progress removing tags, but necessarily incomplete HTML entities, stops being made.

Remember that absolutely NO guarantee is provided about the results of strip_tags() being HTML safe. So NEVER mark safe the result of a strip_tags() call without escaping it first, for example with django.utils.html.escape().

CVE-2019-14234: SQL injection possibility in key and index lookups for JSONField/HStoreField

Key and index lookups for JSONField and key lookups for HStoreField were subject to SQL injection, using a suitably crafted dictionary, with dictionary expansion, as the **kwargs passed to QuerySet.filter().

CVE-2019-14235: Potential memory exhaustion in django.utils.encoding.uri_to_iri()

If passed certain inputs, django.utils.encoding.uri_to_iri() could lead to significant memory usage due to excessive recursion when re-percent-encoding invalid UTF-8 octet sequences.

uri_to_iri() now avoids recursion when re-percent-encoding invalid UTF-8 octet sequences.

Solution

Update the affected packages.

See Also

https://docs.djangoproject.com/en/1.11/releases/1.11.23/

https://docs.djangoproject.com/en/2.1/releases/2.1.11/

https://docs.djangoproject.com/en/2.2/releases/2.2.4/

http://www.nessus.org/u?d6a284a7

Plugin Details

Severity: Critical

ID: 127547

File Name: freebsd_pkg_6e65dfeab61411e9a3a21506e15611cc.nasl

Version: 1.4

Type: local

Published: 8/12/2019

Updated: 1/6/2020

Supported Sensors: Nessus

Risk Information

VPR

Risk Factor: Medium

Score: 6.7

CVSS v2

Risk Factor: High

Base Score: 7.5

Temporal Score: 5.5

Vector: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS v3

Risk Factor: Critical

Base Score: 9.8

Temporal Score: 8.5

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Temporal Vector: CVSS:3.0/E:U/RL:O/RC:C

Vulnerability Information

CPE: p-cpe:/a:freebsd:freebsd:py27-django111, p-cpe:/a:freebsd:freebsd:py27-django21, p-cpe:/a:freebsd:freebsd:py27-django22, p-cpe:/a:freebsd:freebsd:py35-django111, p-cpe:/a:freebsd:freebsd:py35-django21, p-cpe:/a:freebsd:freebsd:py35-django22, p-cpe:/a:freebsd:freebsd:py36-django111, p-cpe:/a:freebsd:freebsd:py36-django21, p-cpe:/a:freebsd:freebsd:py36-django22, p-cpe:/a:freebsd:freebsd:py37-django111, p-cpe:/a:freebsd:freebsd:py37-django21, p-cpe:/a:freebsd:freebsd:py37-django22, cpe:/o:freebsd:freebsd

Required KB Items: Host/local_checks_enabled, Host/FreeBSD/release, Host/FreeBSD/pkg_info

Exploit Ease: No known exploits are available

Patch Publication Date: 8/3/2019

Vulnerability Publication Date: 8/1/2019

Reference Information

CVE: CVE-2019-14232, CVE-2019-14233, CVE-2019-14234, CVE-2019-14235