Rapid7 Vulnerability & Exploit Database

FreeBSD: VID-6E65DFEA-B614-11E9-A3A2-1506E15611CC (CVE-2019-14234): Django -- multiple vulnerabilities

Free InsightVM Trial No Credit Card Necessary
Watch Demo See how it all works
Back to Search

FreeBSD: VID-6E65DFEA-B614-11E9-A3A2-1506E15611CC (CVE-2019-14234): Django -- multiple vulnerabilities

Severity
8
CVSS
(AV:N/AC:L/Au:N/C:P/I:P/A:P)
Published
08/01/2019
Created
08/06/2019
Added
08/04/2019
Modified
08/21/2019

Description

Details for this vulnerability have not been published by NIST at this point. Descriptions from software vendor advisories for this issue are provided below.

From VID-6E65DFEA-B614-11E9-A3A2-1506E15611CC:

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(s)

  • freebsd-upgrade-package-py27-django111
  • freebsd-upgrade-package-py27-django21
  • freebsd-upgrade-package-py27-django22
  • freebsd-upgrade-package-py35-django111
  • freebsd-upgrade-package-py35-django21
  • freebsd-upgrade-package-py35-django22
  • freebsd-upgrade-package-py36-django111
  • freebsd-upgrade-package-py36-django21
  • freebsd-upgrade-package-py36-django22
  • freebsd-upgrade-package-py37-django111
  • freebsd-upgrade-package-py37-django21
  • freebsd-upgrade-package-py37-django22

With Rapid7 live dashboards, I have a clear view of all the assets on my network, which ones can be exploited, and what I need to do in order to reduce the risk in my environment in real-time. No other tool gives us that kind of value and insight.

– Scott Cheney, Manager of Information Security, Sierra View Medical Center

;