A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/django/django/commit/2b099caa5923afa8cfb5f1e8c0d56b6e0e81915b below:

[3.1.x] Fixed CVE-2020-24584 -- Fixed permission escalation in interm… · django/django@2b099ca · GitHub

File tree Expand file treeCollapse file tree 5 files changed

+55

-5

lines changed

Filter options

Expand file treeCollapse file tree 5 files changed

+55

-5

lines changed Original file line number Diff line number Diff line change

@@ -114,7 +114,13 @@ def _cull(self):

114 114

self._delete(fname)

115 115 116 116

def _createdir(self):

117 -

os.makedirs(self._dir, 0o700, exist_ok=True)

117 +

# Set the umask because os.makedirs() doesn't apply the "mode" argument

118 +

# to intermediate-level directories.

119 +

old_umask = os.umask(0o077)

120 +

try:

121 +

os.makedirs(self._dir, 0o700, exist_ok=True)

122 +

finally:

123 +

os.umask(old_umask)

118 124 119 125

def _key_to_file(self, key, version=None):

120 126

"""

Original file line number Diff line number Diff line change

@@ -4,7 +4,7 @@ Django 2.2.16 release notes

4 4 5 5

*Expected September 1, 2020*

6 6 7 -

Django 2.2.16 fixes a security issue and two data loss bugs in 2.2.15.

7 +

Django 2.2.16 fixes two security issues and two data loss bugs in 2.2.15.

8 8 9 9

CVE-2020-24583: Incorrect permissions on intermediate-level directories on Python 3.7+

10 10

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

@@ -17,6 +17,13 @@ files and to intermediate-level collected static directories when using the

17 17

You should review and manually fix permissions on existing intermediate-level

18 18

directories.

19 19 20 +

CVE-2020-24584: Permission escalation in intermediate-level directories of the file system cache on Python 3.7+

21 +

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

22 + 23 +

On Python 3.7+, the intermediate-level directories of the file system cache had

24 +

the system's standard umask rather than ``0o077`` (no group or others

25 +

permissions).

26 + 20 27

Bugfixes

21 28

========

22 29 Original file line number Diff line number Diff line change

@@ -4,7 +4,7 @@ Django 3.0.10 release notes

4 4 5 5

*Expected September 1, 2020*

6 6 7 -

Django 3.0.10 fixes a security issue and two data loss bugs in 3.0.9.

7 +

Django 3.0.10 fixes two security issues and two data loss bugs in 3.0.9.

8 8 9 9

CVE-2020-24583: Incorrect permissions on intermediate-level directories on Python 3.7+

10 10

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

@@ -17,6 +17,13 @@ files and to intermediate-level collected static directories when using the

17 17

You should review and manually fix permissions on existing intermediate-level

18 18

directories.

19 19 20 +

CVE-2020-24584: Permission escalation in intermediate-level directories of the file system cache on Python 3.7+

21 +

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

22 + 23 +

On Python 3.7+, the intermediate-level directories of the file system cache had

24 +

the system's standard umask rather than ``0o077`` (no group or others

25 +

permissions).

26 + 20 27

Bugfixes

21 28

========

22 29 Original file line number Diff line number Diff line change

@@ -4,7 +4,7 @@ Django 3.1.1 release notes

4 4 5 5

*Expected September 1, 2020*

6 6 7 -

Django 3.1.1 fixes a security issue and several bugs in 3.1.

7 +

Django 3.1.1 fixes two security issues and several bugs in 3.1.

8 8 9 9

CVE-2020-24583: Incorrect permissions on intermediate-level directories on Python 3.7+

10 10

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

@@ -17,6 +17,13 @@ files and to intermediate-level collected static directories when using the

17 17

You should review and manually fix permissions on existing intermediate-level

18 18

directories.

19 19 20 +

CVE-2020-24584: Permission escalation in intermediate-level directories of the file system cache on Python 3.7+

21 +

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

22 + 23 +

On Python 3.7+, the intermediate-level directories of the file system cache had

24 +

the system's standard umask rather than ``0o077`` (no group or others

25 +

permissions).

26 + 20 27

Bugfixes

21 28

========

22 29 Original file line number Diff line number Diff line change

@@ -6,12 +6,13 @@

6 6

import pickle

7 7

import re

8 8

import shutil

9 +

import sys

9 10

import tempfile

10 11

import threading

11 12

import time

12 13

import unittest

13 14

from pathlib import Path

14 -

from unittest import mock

15 +

from unittest import mock, skipIf

15 16 16 17

from django.conf import settings

17 18

from django.core import management, signals

@@ -1466,6 +1467,28 @@ def test_get_ignores_enoent(self):

1466 1467

# Returns the default instead of erroring.

1467 1468

self.assertEqual(cache.get('foo', 'baz'), 'baz')

1468 1469 1470 +

@skipIf(

1471 +

sys.platform == 'win32',

1472 +

'Windows only partially supports umasks and chmod.',

1473 +

)

1474 +

def test_cache_dir_permissions(self):

1475 +

os.rmdir(self.dirname)

1476 +

dir_path = Path(self.dirname) / 'nested' / 'filebasedcache'

1477 +

for cache_params in settings.CACHES.values():

1478 +

cache_params['LOCATION'] = dir_path

1479 +

setting_changed.send(self.__class__, setting='CACHES', enter=False)

1480 +

cache.set('foo', 'bar')

1481 +

self.assertIs(dir_path.exists(), True)

1482 +

tests = [

1483 +

dir_path,

1484 +

dir_path.parent,

1485 +

dir_path.parent.parent,

1486 +

]

1487 +

for directory in tests:

1488 +

with self.subTest(directory=directory):

1489 +

dir_mode = directory.stat().st_mode & 0o777

1490 +

self.assertEqual(dir_mode, 0o700)

1491 + 1469 1492

def test_get_does_not_ignore_non_filenotfound_exceptions(self):

1470 1493

with mock.patch('builtins.open', side_effect=OSError):

1471 1494

with self.assertRaises(OSError):

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4