Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Config migration #122

Merged
merged 12 commits into from
Jul 21, 2021
Merged

Config migration #122

merged 12 commits into from
Jul 21, 2021

Conversation

patricksanders
Copy link
Collaborator

@patricksanders patricksanders commented Oct 8, 2020

This PR creates a migration path for pre-1.0 configs to the new Dynaconf config format, along with a lot of ancillary work required to support Dynaconf.

Closes #117

@patricksanders patricksanders added this to the v1.0.0 milestone Oct 8, 2020
patricksanders and others added 10 commits October 9, 2020 09:43
* Prevent updater threads from crashing when access is denied by SCP, as described in #123

* Fix flake8 complaints re whitespace & comments.

* Remove errant ] somehow added to vars in f strings in two log messages.

* Updating urllib3, pylint, pyyaml (and astroid due to dependency) to resolve vulnerabilities reported by safety.:
+==============================================================================+
|                                                                              |
|                               /$$$$$$            /$$                         |
|                              /$$__  $$          | $$                         |
|           /$$$$$$$  /$$$$$$ | $$  \__//$$$$$$  /$$$$$$   /$$   /$$           |
|          /$$_____/ |____  $$| $$$$   /$$__  $$|_  $$_/  | $$  | $$           |
|         |  $$$$$$   /$$$$$$$| $$_/  | $$$$$$$$  | $$    | $$  | $$           |
|          \____  $$ /$$__  $$| $$    | $$_____/  | $$ /$$| $$  | $$           |
|          /$$$$$$$/|  $$$$$$$| $$    |  $$$$$$$  |  $$$$/|  $$$$$$$           |
|         |_______/  \_______/|__/     \_______/   \___/   \____  $$           |
|                                                          /$$  | $$           |
|                                                         |  $$$$$$/           |
|  by pyup.io                                              \______/            |
|                                                                              |
+==============================================================================+
| REPORT                                                                       |
| checked 64 packages, using default DB                                        |
+============================+===========+==========================+==========+
| package                    | installed | affected                 | ID       |
+============================+===========+==========================+==========+
| pylint                     | 2.4.2     | <2.5.0                   | 38224    |
+==============================================================================+
| Pylint 2.5.0 no longer allows ``python -m pylint ...`` to import user code.  |
| Previously, it added the current working directory as the first element of   |
| ``sys.path``. This opened up a potential security hole where ``pylint``      |
| would import user level code as long as that code resided in modules having  |
| the same name as stdlib or pylint's own modules.                             |
+==============================================================================+
| pyyaml                     | 5.1.2     | <5.3.1                   | 38100    |
+==============================================================================+
| A vulnerability was discovered in the PyYAML library in versions before      |
| 5.3.1, where it is susceptible to arbitrary code execution when it processes |
| untrusted YAML files through the full_load method or with the FullLoader     |
| loader. Applications that use the library to process untrusted input may be  |
| vulnerable to this flaw. An attacker could use this flaw to execute          |
| arbitrary code on the system by abusing the python/object/new constructor.   |
| See: CVE-2020-1747.                                                          |
+==============================================================================+
| pyyaml                     | 5.1.2     | >=5.1,<=5.1.2            | 38639    |
+==============================================================================+
| CVE-2019-20477: PyYAML 5.1 through 5.1.2 has insufficient restrictions on    |
| the load and load_all functions because of a class deserialization issue,    |
| e.g., Popen is a class in the subprocess module. NOTE: this issue exists     |
| because of an incomplete fix for CVE-2017-18342.                             |
+==============================================================================+
| urllib3                    | 1.25.6    | <1.25.9                  | 38834    |
+==============================================================================+
| urllib3 before 1.25.9 allows CRLF injection if the attacker controls the     |
| HTTP request method, as demonstrated by inserting CR and LF control          |
| characters in the first argument of putrequest(). See: CVE-2020-26137.       |
| (NOTE: this is similar to CVE-2020-26116.)                                   |
+==============================================================================+
| urllib3                    | 1.25.6    | >=1.25.2,<=1.25.7        | 27519    |
+==============================================================================+
| The _encode_invalid_chars function in util/url.py in the urllib3 library     |
| 1.25.2 through 1.25.7 for Python allows a denial of service (CPU             |
| consumption) because of an inefficient algorithm. The percent_encodings      |
| array contains all matches of percent encodings. It is not deduplicated. For |
| a URL of length N, the size of percent_encodings may be up to O(N). The next |
| step (normalize existing percent-encoded bytes) also takes up to O(N) for    |
| each step, so the total time is O(N^2). If percent_encodings were            |
| deduplicated, the time to compute _encode_invalid_chars would be O(kN),      |
| where k is at most 484 ((10+6*2)^2). See: CVE-2020-7212.                     |
+==============================================================================+
@patricksanders patricksanders marked this pull request as ready for review July 20, 2021 23:55
aardvark/config.py Outdated Show resolved Hide resolved
Copy link
Contributor

@castrapel castrapel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM just minor comments

@patricksanders patricksanders merged commit 65933c3 into develop Jul 21, 2021
@patricksanders patricksanders deleted the config-migration branch July 21, 2021 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants