diff --git a/src/borg/crypto/key.py b/src/borg/crypto/key.py index 72c260a1b..491d0ab79 100644 --- a/src/borg/crypto/key.py +++ b/src/borg/crypto/key.py @@ -1,6 +1,7 @@ import configparser import getpass import os +import shlex import sys import textwrap import subprocess @@ -430,7 +431,7 @@ class Passphrase(str): passcommand = os.environ.get('BORG_PASSCOMMAND', None) if passcommand is not None: try: - passphrase = subprocess.check_output(passcommand.split(), universal_newlines=True) + passphrase = subprocess.check_output(shlex.split(passcommand), universal_newlines=True) except (subprocess.CalledProcessError, FileNotFoundError) as e: raise PasscommandFailure(e) return cls(passphrase.rstrip('\n'))