-
Notifications
You must be signed in to change notification settings - Fork 0
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
[Snyk] Fix for 23 vulnerabilities #846
base: master
Are you sure you want to change the base?
Conversation
The following vulnerabilities are fixed by pinning transitive dependencies: - https://snyk.io/vuln/SNYK-PYTHON-CERTIFI-3164749 - https://snyk.io/vuln/SNYK-PYTHON-CERTIFI-5805047 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-1066259 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-1279042 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-1290072 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-1298665 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-2312875 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-2329158 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-2329159 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-2329160 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-2389002 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-2389021 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-2606966 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-2606969 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-2940618 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-2968205 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-3319450 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-5496950 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-5750790 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-5880505 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-5932095 - https://snyk.io/vuln/SNYK-PYTHON-DJANGO-6041515 - https://snyk.io/vuln/SNYK-PYTHON-REQUESTS-5595532
SQL Injection
DescriptionA SQL Injection is not a new or overly complicated type of attack, yet it continues to sit atop the OWASP Top Ten Application Security Risks after more than 20 years of it having been publicly utilized. This is primarily due to its inherent relative ease of use, coupled with its severity of impact when directed toward the staggeringly high number of websites with poorly written, vulnerable code. SQL is a query language that is designed to access, modify, and delete data stored in relational databases. Numerous web applications and websites use SQL databases as their method of data storage. Applications with a higher prevalence of older functional interfaces such as PHP and ASP are relatively more susceptible to SQL Injection flaws than applications based on more recent technologies. Applications are vulnerable to attacks when user-supplied data is not validated, filtered for escape characters or sanitized by the application. An attacker can use SQL Injection to manipulate an SQL query via the input data from the client to the application, thus forcing the SQL server to execute an unintended operation constructed using untrusted input. Read moreImpactA successful SQL Injection attack can result in a malicious user gaining complete access to all data in a database server with the ability to execute unauthorized SQL queries and compromise the confidentiality, integrity, and availability of the application. Depending on the backend DBMS used and the permissions granted to the user on the database, a SQL Injection could result in arbitrary file read/write and even remote code execution. The severity of attacks that have leveraged SQL Injection should not be understated. Notorious breaches, including the devastating and internationally renowned hacks of Sony Pictures and LinkedIn, for example, are reported to have been executed using SQL Injection. ScenariosSubverting application logic through SQL can lead to unpredictable outcomes depending on the context of the SQL statement the strategy of the attacker. There are well-known exploitation techniques that attackers leverage depending on the vulnerability within the implementation of the code:
It is called blind SQL Injection when the injection succeeds, but the code doesn't return the result of the manipulated query to the attacker. Blind injections are still exploitable to retrieve the content using timing analysis, content analysis, or other out-of-bound techniques. The following is a classic example of subverting application logic to bypass access controls. Usernames and passwords are ubiquitous as the method for logging into applications. In this benign scenario, a user submits the username SELECT * FROM users WHERE username = 'user' AND password = 'secret' The login is successful if the query returns the details of the user. If the query doesn't return the user details, it is rejected. By leveraging single quotes and SQL comments ( The following example illustrates this in action. By entering SELECT * FROM users WHERE username = 'administrator'--' AND password = ' The database evaluates this statement without the commented out part, executing just the first part: SELECT * FROM users WHERE username = 'administrator' Since the manipulated query always returns the details of the PreventionTo avoid SQL Injection vulnerabilities, developers need to use parameterized queries, specifying placeholders for parameters so that they are not considered as a part of the SQL command; rather, as solely data by the database. When working with legacy systems, developers need to escape inputs before adding them to the query. Object Relational Mappers (ORMs) make this easier for the developer; however, they are not a panacea, with the underlying mitigations still entirely relevant: untrusted data needs to be validated, query concatenation should be avoided unless absolutely necessary, and minimizing unnecessary SQL account privileges is crucial. TestingVerify that where parameterized or safer mechanisms are not present, context-specific output encoding is used to protect against injection attacks, such as the use of SQL escaping to protect against SQL Injection.
|
This PR was automatically created by Snyk using the credentials of a real user.
Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.
Changes included in this PR
Vulnerabilities that will be fixed
By pinning:
Why? Has a fix available, CVSS 6.8
SNYK-PYTHON-CERTIFI-3164749
certifi:
2021.10.8 -> 2023.7.22
Why? Has a fix available, CVSS 9.8
SNYK-PYTHON-CERTIFI-5805047
certifi:
2021.10.8 -> 2023.7.22
Why? Has a fix available, CVSS 3.1
SNYK-PYTHON-DJANGO-1066259
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 3.3
SNYK-PYTHON-DJANGO-1279042
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 7.3
SNYK-PYTHON-DJANGO-1290072
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 7.5
SNYK-PYTHON-DJANGO-1298665
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 5.3
SNYK-PYTHON-DJANGO-2312875
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 3.7
SNYK-PYTHON-DJANGO-2329158
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 3.7
SNYK-PYTHON-DJANGO-2329159
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 5.3
SNYK-PYTHON-DJANGO-2329160
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 4.2
SNYK-PYTHON-DJANGO-2389002
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 7.5
SNYK-PYTHON-DJANGO-2389021
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 9.8
SNYK-PYTHON-DJANGO-2606966
django:
1.11.29 -> 3.2.23
Why? Proof of Concept exploit, Has a fix available, CVSS 9.8
SNYK-PYTHON-DJANGO-2606969
django:
1.11.29 -> 3.2.23
Why? Proof of Concept exploit, Has a fix available, CVSS 9.1
SNYK-PYTHON-DJANGO-2940618
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 7
SNYK-PYTHON-DJANGO-2968205
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 7.5
SNYK-PYTHON-DJANGO-3319450
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 5.3
SNYK-PYTHON-DJANGO-5496950
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 7.5
SNYK-PYTHON-DJANGO-5750790
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 7.5
SNYK-PYTHON-DJANGO-5880505
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 5.9
SNYK-PYTHON-DJANGO-5932095
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 5.3
SNYK-PYTHON-DJANGO-6041515
django:
1.11.29 -> 3.2.23
Why? Has a fix available, CVSS 6.1
SNYK-PYTHON-REQUESTS-5595532
requests:
2.27.1 -> 2.31.0
(*) Note that the real score may have changed since the PR was raised.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.
Check the changes in this PR to ensure they won't cause issues with your project.
Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:![](https://camo.githubusercontent.com/e2e7c888638776eda19c32cf8f560847947827119aba6c57ad9d3544d3b1232b/68747470733a2f2f6170692e7365676d656e742e696f2f76312f706978656c2f747261636b3f646174613d65794a33636d6c305a55746c65534936496e4a79576d785a634564485932527954485a7362306c596430645563566734576b4652546e4e434f5545774969776959573576626e6c746233567a535751694f694933593259785a474a6a4d79316d4f446c6a4c5451774f4459744f4755305a4330774f475932596a51354e54633459544d694c434a6c646d567564434936496c425349485a705a58646c5a434973496e42796233426c636e52705a584d694f6e736963484a4a5a434936496a646a5a6a466b596d4d7a4c5759344f574d744e4441344e6930345a54526b4c5441345a6a5a694e446b314e7a68684d794a3966513d3d)
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic
Learn how to fix vulnerabilities with free interactive lessons:
🦉 Directory Traversal
🦉 Access Restriction Bypass
🦉 Denial of Service (DoS)
🦉 More lessons are available in Snyk Learn