-
Notifications
You must be signed in to change notification settings - Fork 1k
Blocking of stdlib names has holes? #2940
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
Comments
@hartwork thanks for the report. interesting work around :) i'm going to get a fix in at the warehouse level, then pull down the registered packages. in the future, PyPI does have a security policy published at https://pypi.org/security/ and https://pypi.python.org/security for issues relating to the security of our service or our users. |
fixes #2940, initial work failed to take this into consideration.
fixes #2940, initial work failed to take this into consideration.
Nice! Can I keep the
|
@hartwork no I'm sorry, these packages have already been blocked and deleted. We probably could have negotiated something if this were under less pressure by being responsibly disclosed. |
I reacted a bit swiftly in locking this issue. I want to make clear that we value and appreciate reports like these, but would prefer for them to be disclosed per our security policy (also published here). The realistic outcomes of situations like these can be costly (in time) for the maintainers of the project. Disseminating this sort of information publicly (this issue was tweeted by a prominent security researcher almost immediately after being opened) can lead to others trying out the holes and further complicating the cleanup efforts, regardless of action taken with the packages you had already claimed. Aside from the pressure of trying to ship this as quickly as possible to avoid additional cleanup, we hit a snag with the Continuous Integration environment that delayed deployment of a fix we deemed critical by nearly 30 minutes. This pressure translates to real stress on real humans. Responsibly disclosing this issue per our security policy would have greatly reduced this pressure and stress, which ultimately manifested as me punching the lock button to be through with it. |
Uh oh!
There was an error while loading. Please reload this page.
Hi!
Pull request #2409 introduced a blacklist of stdlib names to counter to protect against pytosquatting, aiming to plug #2151.
I found a hole with it. While names like
xmlrpc.client
andencodings.idna
are blocked because they appear in somestdlib-list
list, some parent packages likeencodings
are not in their list and do not get blocked by warehouse as a consequence. I was able to register these four packages:According to pytosquatting.org, package
encodings
had about 20 hits per day in the past, not sure how much hits the others would get. Personally, I would have considered at leastencodings
andxmlrpc
worth blocking.Should
stdlib-list
be completed or rather parent package names auto-included at warehouse level for a generic fix? What do you think?PS: I'm happy to delete these four packages from PyPI once this hole is plugged. I would ask to keep them up until then, please feel free to verify their whitehat nature. Thank you!
Best, Sebastian
CC: @benjaoming @hannob
The text was updated successfully, but these errors were encountered: