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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Security Fix for Insecure Deserialization - huntr.dev #1054

Merged
merged 2 commits into from Jan 21, 2021

Conversation

huntr-helper
Copy link
Contributor

https://huntr.dev/users/arjunshibu has fixed the Insecure Deserialization vulnerability 馃敤. Think you could fix a vulnerability like this?

Get involved at https://huntr.dev/

Q | A
Version Affected | ALL
Bug Fix | YES
Original Pull Request | 418sec#1
Vulnerability README | https://github.com/418sec/huntr/blob/master/bounties/pip/catalyst/1/README.md

User Comments:

馃搳 Metadata *

Bounty URL: https://www.huntr.dev/bounties/1-pip-catalyst

鈿欙笍 Description *

Catalyst is a PyTorch framework for Deep Learning research and development. It focuses on reproducibility, rapid experimentation, and codebase reuse so you can create something new rather than write another regular train loop.
This package was vulnerable to Arbitrary code execution via Insecure YAML deserialization due to the use of a known vulnerable function load() in yaml.

repo: https://github.com/catalyst-team/catalyst

馃捇 Technical Description *

Fix implemented by using yaml.SafeLoader instead of default vulnerable Loader.

馃悰 Proof of Concept (PoC) *

import os
os.system('pip3 install catalyst')
from catalyst.utils import config
exploit = """!!python/object/new:type
  args: ["z", !!python/tuple [], {"extend": !!python/name:exec }]
  listitems: "__import__('os').system('xcalc')"
"""
open('pwn.yml','w+').write(exploit)
config.load_config('pwn.yml')

pip3 install catalyst
python3 exploit.py

馃敟 Proof of Fix (PoF) *

image

+1 User Acceptance Testing (UAT)

  • I've executed unit tests.
  • After fix the functionality is unaffected.

@Scitator Scitator merged commit df9e07f into catalyst-team:master Jan 21, 2021
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.

None yet

4 participants