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

[3.11] gh-79096: Protect cookie file created by {LWP,Mozilla}CookieJar.save() (GH-93463) #93636

Merged
merged 2 commits into from
Jun 9, 2022

Conversation

ambv
Copy link
Contributor

@ambv ambv commented Jun 9, 2022

Note: This change is not effective on Microsoft Windows.

Cookies can store sensitive information and should therefore be protected
against unauthorized third parties. This is also described in issue #79096.

The filesystem permissions are currently set to 644, everyone can read the
file. This commit changes the permissions to 600, only the creater of the file
can read and modify it. This improves security, because it reduces the attack
surface. Now the attacker needs control of the user that created the cookie or
a ways to circumvent the filesystems permissions.

This change is backwards incompatible. Systems that rely on world-readable
cookies will breake. However, one could argue that those are misconfigured in
the first place.


This PR also includes fixes from GH-93614.

pSub and others added 2 commits June 9, 2022 15:36
….save() (pythonGH-93463)

Note: This change is not effective on Microsoft Windows.

Cookies can store sensitive information and should therefore be protected
against unauthorized third parties. This is also described in issue python#79096.

The filesystem permissions are currently set to 644, everyone can read the
file. This commit changes the permissions to 600, only the creater of the file
can read and modify it. This improves security, because it reduces the attack
surface. Now the attacker needs control of the user that created the cookie or
a ways to circumvent the filesystems permissions.

This change is backwards incompatible. Systems that rely on world-readable
cookies will breake. However, one could argue that those are misconfigured in
the first place.
Fixup of pythonGH-93463:
- remove stray print
- use proper way to check file mode
- add working chmod decorator

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
@cpython-cla-bot
Copy link

cpython-cla-bot bot commented Jun 9, 2022

All commit authors signed the Contributor License Agreement.
CLA signed

@ambv
Copy link
Contributor Author

ambv commented Jun 9, 2022

@pSub can you click through the CLA process again for this other e-mail? We only have ...@red6-es.de on file now.

@pSub
Copy link
Contributor

pSub commented Jun 9, 2022

@ambv Done.

@ambv ambv merged commit 2084f94 into python:3.11 Jun 9, 2022
@ambv ambv deleted the cookiejar-chmod-3.11 branch June 9, 2022 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-security A security issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants