hitoshura25/cvefixes huggingface dataset:
CVE-2022-22984 (Other, published 2022-11-30T13:15Z)
Description: value: The package snyk before 1.1064.0; the package snyk-mvn-plugin before 2.31.3; the package snyk-gradle-plugin before 3.24.5; the package @snyk/snyk-cocoapods-plugin before 2.5.3; the package snyk-sbt-plugin before 2.16.2; the package snyk-python-plugin before 1.24.2; the package snyk-docker-plugin before 5.6.5; the package @snyk/snyk-hex-plugin before 1.1.6 are vulnerable to Command Injection due to an incomplete fix for [CVE-2022-40764](https://security.snyk.io/vuln/SNYK-JS-SNYK-3037342). A successful exploit allows attackers to run arbitrary commands on the host system where the Snyk CLI is installed by passing in crafted command line flags. In order to exploit this vulnerability, a user would have to execute the snyk test command on untrusted files. In most cases, an attacker positioned to control the command line arguments to the Snyk CLI would already be positioned to execute arbitrary commands. However, this could be abused in specific scenarios, such as continuous integration pipelines, where developers can control the arguments passed to the Snyk CLI to leverage this component as part of a wider attack against an integration/build pipeline. This issue has been addressed in the latest Snyk Docker images available at https://hub.docker.com/r/snyk/snyk as of 2022-11-29. Images downloaded and built prior to that date should be updated. The issue has also been addressed in the Snyk TeamCity CI/CD plugin as of version v20221130.093605.
Severity: nan (CVSS v3 base score: 6.3)
Weakness: CWE-78 \u2014 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.
Repository: https://github.com/snyk/snyk-hex-plugin
Files changed:
.snyk
lib/sub-process.ts
package.json
Commit message: fix: quote spawn args


Vulnerable code:
version: v1.13.5
ignore: {}
# patches apply the minimum changes required to fix a vulnerability

Fixed code:
version: v1.25.0
# ignores vulnerabilities until expiry date; change duration by modifying expiry date
ignore:
  'snyk:lic:npm:shescape:MPL-2.0':
    - '*':
        reason: None Given
        expires: 2122-12-29T08:08:41.608Z
        created: 2022-11-29T08:08:41.611Z
import { quoteAll } from 'shescape';
  args = quoteAll(args, spawnOptions);
    "shescape": "1.6.1",
CVE-2022-4639 (C, published 2022-12-21T22:15Z)
Description: value: A vulnerability, which was classified as critical, has been found in sslh. This issue affects the function hexdump of the file probe.c of the component Packet Dumping Handler. The manipulation of the argument msg_info leads to format string. The attack may be initiated remotely. The name of the patch is b19f8a6046b080e4c2e28354a58556bb26040c6f. It is recommended to apply a patch to fix this issue. The identifier VDB-216497 was assigned to this vulnerability.
Severity: nan (CVSS v3 base score: 9.8)
Weakness: CWE-134 \u2014 Use of Externally-Controlled Format String
The product uses a function that accepts a format string as an argument, but the format string originates from an external source.
Repository: https://github.com/yrutschle/sslh
Files changed:
probe.c
Commit message: fix possible format string exploit if packet dumping enabled

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>


Vulnerable code:
            print_message(msg_info, str);

Fixed code:
            print_message(msg_info, "%s", str);
CVE-2020-26298 (Ruby, published 2021-01-11T19:15Z)
Description: value: Redcarpet is a Ruby library for Markdown processing. In Redcarpet before version 3.5.1, there is an injection vulnerability which can enable a cross-site scripting attack. In affected versions no HTML escaping was being performed when processing quotes. This applies even when the `:escape_html` option was being used. This is fixed in version 3.5.1 by the referenced commit.
Severity: LOW (CVSS v3 base score: 5.4)
Weakness: CWE-74 \u2014 Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')
The product constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component.
Repository: https://github.com/vmg/redcarpet
Files changed:
CHANGELOG.md
ext/redcarpet/html.c
lib/redcarpet.rb
redcarpet.gemspec
test/markdown_test.rb
Commit message: Fix a security issue using `:quote` with `:escape_html`

Reported by @johan-smits.


Vulnerable code:
	bufput(ob, text->data, text->size);
  VERSION = '3.5.0'
  s.version = '3.5.0'
  s.date = '2019-07-29'

Fixed code:
## Version 3.5.1 (Security)

* Fix a security vulnerability using `:quote` in combination with the
  `:escape_html` option.

  Reported by *Johan Smits*.

	struct html_renderopt *options = opaque;


	if (options->flags & HTML_ESCAPE)
		escape_html(ob, text->data, text->size);
	else
		bufput(ob, text->data, text->size);

  VERSION = '3.5.1'
  s.version = '3.5.1'
  s.date = '2020-12-15'
  def test_quote_flag_honors_escape_html
    text = 'We are not "<svg/onload=pwned>"'

    output_enabled  = render(text, with: [:quote, :escape_html])
    output_disabled = render(text, with: [:quote])

    assert_equal "<p>We are not <q>&lt;svg/onload=pwned&gt;</q></p>", output_enabled
    assert_equal "<p>We are not <q><svg/onload=pwned></q></p>", output_disabled
  end
CVE-2020-26298 (Ruby, published 2021-01-11T19:15Z)
Description: value: Redcarpet is a Ruby library for Markdown processing. In Redcarpet before version 3.5.1, there is an injection vulnerability which can enable a cross-site scripting attack. In affected versions no HTML escaping was being performed when processing quotes. This applies even when the `:escape_html` option was being used. This is fixed in version 3.5.1 by the referenced commit.
Severity: LOW (CVSS v3 base score: 5.4)
Weakness: CWE-79 \u2014 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
Repository: https://github.com/vmg/redcarpet
Files changed:
CHANGELOG.md
ext/redcarpet/html.c
lib/redcarpet.rb
redcarpet.gemspec
test/markdown_test.rb
Commit message: Fix a security issue using `:quote` with `:escape_html`

Reported by @johan-smits.


Vulnerable code:
	bufput(ob, text->data, text->size);
  VERSION = '3.5.0'
  s.version = '3.5.0'
  s.date = '2019-07-29'

Fixed code:
## Version 3.5.1 (Security)

* Fix a security vulnerability using `:quote` in combination with the
  `:escape_html` option.

  Reported by *Johan Smits*.

	struct html_renderopt *options = opaque;


	if (options->flags & HTML_ESCAPE)
		escape_html(ob, text->data, text->size);
	else
		bufput(ob, text->data, text->size);

  VERSION = '3.5.1'
  s.version = '3.5.1'
  s.date = '2020-12-15'
  def test_quote_flag_honors_escape_html
    text = 'We are not "<svg/onload=pwned>"'

    output_enabled  = render(text, with: [:quote, :escape_html])
    output_disabled = render(text, with: [:quote])

    assert_equal "<p>We are not <q>&lt;svg/onload=pwned&gt;</q></p>", output_enabled
    assert_equal "<p>We are not <q><svg/onload=pwned></q></p>", output_disabled
  end
CVE-2014-125079 (Other, published 2023-01-15T09:15Z)
Description: value: A vulnerability was found in agy pontifex.http. It has been declared as critical. This vulnerability affects unknown code of the file lib/Http.coffee. The manipulation leads to sql injection. Upgrading to version 0.1.0 is able to address this issue. The name of the patch is e52a758f96861dcef2dabfecb9da191bb2e07761. It is recommended to upgrade the affected component. The identifier of this vulnerability is VDB-218356.
Severity: nan (CVSS v3 base score: 9.8)
Weakness: CWE-89 \u2014 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.
Repository: https://github.com/agy/pontifex.http
Files changed:
lib/Http.coffee
Commit message: Fixed SQL Injection Hole


Vulnerable code:
			url: "http://auth.wot.io/authenticate_token/#{token}/#{command}/#{path}"

Fixed code:
			url: "http://auth.wot.io/authenticate_token/#{token}/#{command}/#{path}".replace("'", "''")
CVE-2023-7166 (Java, published 2023-12-29T09:15Z)
Description: value: A vulnerability classified as problematic has been found in Novel-Plus up to 4.2.0. This affects an unknown part of the file /user/updateUserInfo of the component HTTP POST Request Handler. The manipulation of the argument nickName leads to cross site scripting. It is possible to initiate the attack remotely. The exploit has been disclosed to the public and may be used. The identifier of the patch is c62da9bb3a9b3603014d0edb436146512631100d. It is recommended to apply a patch to fix this issue. The identifier VDB-249201 was assigned to this vulnerability.
Severity: nan (CVSS v3 base score: 5.4)
Weakness: CWE-79 \u2014 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
Repository: https://github.com/201206030/novel-plus
Files changed:
novel-common/src/main/java/com/java2nb/novel/entity/User.java
Commit message: fix: nickName、userPhoto 更新校验


Vulnerable code:
    @NotBlank(groups = {AddGroup.class},message="手机号不能为空！")
    @Pattern(groups = {AddGroup.class},regexp="^1[3|4|5|6|7|8|9][0-9]{9}$",message="手机号格式不正确！")
    @NotBlank(groups = {AddGroup.class},message="密码不能为空！")
    @Min(value = 0,groups = {UpdateGroup.class})
    @Max(value = 1,groups = {UpdateGroup.class})
    @Null(groups = {AddGroup.class,UpdateGroup.class})
    @Null(groups = {AddGroup.class,UpdateGroup.class})
    @Null(groups = {AddGroup.class,UpdateGroup.class})
    @Null(groups = {AddGroup.class,UpdateGroup.class})

Fixed code:
    @NotBlank(groups = {AddGroup.class}, message = "手机号不能为空！")
    @Pattern(groups = {AddGroup.class}, regexp = "^1[3|4|5|6|7|8|9][0-9]{9}$", message = "手机号格式不正确！")
    @Null(groups = {UpdateGroup.class})
    @NotBlank(groups = {AddGroup.class}, message = "密码不能为空！")
    @Pattern(groups = {
        UpdateGroup.class}, regexp = "[\u4E00-\u9FA5A-Za-z0-9_]{1,20}", message = "昵称格式不正确！")
    @Pattern(groups = {
        UpdateGroup.class}, regexp = "^/localPic/\\d{4}/\\d{2}/\\d{2}/[A-Za-z0-9]+\\.(jpg|jpeg|swf|gif|png|JPG|JPEG|SWF|GIF|PNG)$", message = "只能上传图片格式的文件！")
    @Min(value = 0, groups = {UpdateGroup.class})
    @Max(value = 1, groups = {UpdateGroup.class})
    @Null(groups = {AddGroup.class, UpdateGroup.class})
    @Null(groups = {AddGroup.class, UpdateGroup.class})
    @Null(groups = {AddGroup.class, UpdateGroup.class})
    @Null(groups = {AddGroup.class, UpdateGroup.class})
CVE-2020-15098 (PHP, published 2020-07-29T17:15Z)
Description: value: In TYPO3 CMS greater than or equal to 9.0.0 and less than 9.5.20, and greater than or equal to 10.0.0 and less than 10.4.6, it has been discovered that an internal verification mechanism can be used to generate arbitrary checksums. This allows to inject arbitrary data having a valid cryptographic message authentication code (HMAC-SHA1) and can lead to various attack chains including potential privilege escalation, insecure deserialization & remote code execution. The overall severity of this vulnerability is high based on mentioned attack chains and the requirement of having a valid backend user session (authenticated). This has been patched in versions 9.5.20 and 10.4.6.
Severity: MEDIUM (CVSS v3 base score: 8.8)
Weakness: CWE-327 \u2014 Use of a Broken or Risky Cryptographic Algorithm
The product uses a broken or risky cryptographic algorithm or protocol.
Repository: https://github.com/TYPO3/TYPO3.CMS
Files changed:
typo3/sysext/backend/Classes/Controller/LinkBrowserController.php
typo3/sysext/backend/Classes/Form/FieldControl/EditPopup.php
typo3/sysext/backend/Classes/Form/FieldControl/LinkPopup.php
Commit message: [SECURITY] Avoid ambiguous HMAC results

Cryptographic hashes being calculated from and for query
parameters must only be used for a specific use-case or
scope in order to avoid resulting hashes being ambiguous.

Resolves: #91689
Releases: master, 10.4, 9.5
Change-Id: I59ca16fe71e27195b98a822607aab564425d248d
Security-Bulletin: TYPO3-CORE-SA-2020-008
Security-References: CVE-2020-15098
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65125
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>


Vulnerable code:
            $result = hash_equals(GeneralUtility::hmac(serialize($fieldChangeFunctions)), $this->parameters['fieldChangeFuncHash']);
        $formEngineParameters['fieldChangeFuncHash'] = GeneralUtility::hmac(serialize($this->parameters['fieldChangeFunc']));
                'fieldChangeFuncHash' => GeneralUtility::hmac(serialize($parameterArray['fieldChangeFunc'])),
                'fieldChangeFuncHash' => GeneralUtility::hmac(serialize($parameterArray['fieldChangeFunc'])),

Fixed code:
            $result = hash_equals(GeneralUtility::hmac(serialize($fieldChangeFunctions), 'backend-link-browser'), $this->parameters['fieldChangeFuncHash']);
        $formEngineParameters['fieldChangeFuncHash'] = GeneralUtility::hmac(serialize($this->parameters['fieldChangeFunc']), 'backend-link-browser');
                'fieldChangeFuncHash' => GeneralUtility::hmac(serialize($parameterArray['fieldChangeFunc']), 'backend-link-browser'),
                'fieldChangeFuncHash' => GeneralUtility::hmac(serialize($parameterArray['fieldChangeFunc']), 'backend-link-browser'),
CVE-2023-52266 (C++, published 2023-12-31T00:15Z)
Description: value: ehttp 1.0.6 before 17405b9 has an epoll_socket.cpp read_func use-after-free. An attacker can make many connections over a short time to trigger this.
Severity: nan (CVSS v3 base score: 7.5)
Weakness: CWE-416 \u2014 Use After Free
The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.
Repository: https://github.com/hongliuliao/ehttp
Files changed:
Makefile
src/epoll_socket.cpp
src/sim_parser.cpp
test/issue38/poc.py
Commit message: fix log overflow & epoll_context use after free bug


Vulnerable code:
	CXXFLAGS += -fprofile-arcs -ftest-coverage
	LDFLAGS += -lgcov --coverage

    EpollContext *hc = (EpollContext *) td->event.data.ptr;
    if (hc != NULL) {
        hc->_ctx_status = CONTEXT_READ_OVER;
    }
    LOG_DEBUG("read from client: size:%d, content:%s", read_size, read_buffer);

Fixed code:
	CXXFLAGS += -fprofile-arcs -ftest-coverage -fsanitize=address
	LDFLAGS += -lgcov --coverage -fsanitize=address
    if (epoll_context != NULL) {
        epoll_context->_ctx_status = CONTEXT_READ_OVER;
    }
    LOG_DEBUG("read from client: size:%d, content:%.4096s", read_size, read_buffer);
#!/usr/bin/env python3

import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(("localhost", 8080))
sock.send(b"GET"*5000+b" /hello"*5000+b" HTTP/1.1\r\nHost:localhost:8080\r\n\r\n")
response = sock.recv(4096)
sock.close()
CVE-2023-52267 (C++, published 2023-12-31T00:15Z)
Description: value: ehttp 1.0.6 before 17405b9 has a simple_log.cpp _log out-of-bounds-read during error logging for long strings.
Severity: nan (CVSS v3 base score: 7.5)
Weakness: CWE-125 \u2014 Out-of-bounds Read
The product reads data past the end, or before the beginning, of the intended buffer.
Repository: https://github.com/hongliuliao/ehttp
Files changed:
Makefile
src/epoll_socket.cpp
src/sim_parser.cpp
test/issue38/poc.py
Commit message: fix log overflow & epoll_context use after free bug


Vulnerable code:
	CXXFLAGS += -fprofile-arcs -ftest-coverage
	LDFLAGS += -lgcov --coverage

    EpollContext *hc = (EpollContext *) td->event.data.ptr;
    if (hc != NULL) {
        hc->_ctx_status = CONTEXT_READ_OVER;
    }
    LOG_DEBUG("read from client: size:%d, content:%s", read_size, read_buffer);

Fixed code:
	CXXFLAGS += -fprofile-arcs -ftest-coverage -fsanitize=address
	LDFLAGS += -lgcov --coverage -fsanitize=address
    if (epoll_context != NULL) {
        epoll_context->_ctx_status = CONTEXT_READ_OVER;
    }
    LOG_DEBUG("read from client: size:%d, content:%.4096s", read_size, read_buffer);
#!/usr/bin/env python3

import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(("localhost", 8080))
sock.send(b"GET"*5000+b" /hello"*5000+b" HTTP/1.1\r\nHost:localhost:8080\r\n\r\n")
response = sock.recv(4096)
sock.close()
CVE-2021-29421 (Python, published 2021-04-01T20:15Z)
Description: value: models/metadata.py in the pikepdf package 1.3.0 through 2.9.2 for Python allows XXE when parsing XMP metadata entries.
Severity: MEDIUM (CVSS v3 base score: 7.5)
Weakness: CWE-611 \u2014 Improper Restriction of XML External Entity Reference
The product processes an XML document that can contain XML entities with URIs that resolve to documents outside of the intended sphere of control, causing the product to embed incorrect documents into its output.
Repository: https://github.com/pikepdf/pikepdf
Files changed:
src/pikepdf/_xml.py
src/pikepdf/models/metadata.py
tests/test_metadata.py
Commit message: Fix XXE vulnerability in XMP metadata parsing

For details:
https://portswigger.net/web-security/xxe

Reported by: Eric Therond eric.therond@sonarsource.com) of Sonarsource (https://www.sonarsource.com/)


Vulnerable code:
from lxml.etree import QName, XMLParser, XMLSyntaxError, parse
            return parse(BytesIO(xml))
            return parse(BytesIO(re_xml_illegal_bytes.sub(b'', xml)))
            parser = XMLParser(recover=True)
            return parse(BytesIO(xml), parser)

Fixed code:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# Copyright (C) 2021, James R. Barlow (https://github.com/jbarlow83/)


from typing import IO, Any, AnyStr, Union

from lxml.etree import XMLParser as _UnsafeXMLParser
from lxml.etree import parse as _parse


class _XMLParser(_UnsafeXMLParser):
    def __init__(self, *args, **kwargs):
        # Prevent XXE attacks
        # https://rules.sonarsource.com/python/type/Vulnerability/RSPEC-2755
        kwargs['resolve_entities'] = False
        kwargs['no_network'] = True
        super().__init__(*args, **kwargs)


def parse_xml(source: Union[AnyStr, IO[Any]], recover: bool = False):
    """Wrapper around lxml's parse to provide protection against XXE attacks."""

    parser = _XMLParser(recover=recover, remove_pis=False)
    return _parse(source, parser=parser)


__all__ = ['parse_xml']
from lxml.etree import QName, XMLSyntaxError
from .._xml import parse_xml
            return parse_xml(BytesIO(xml))
            return parse_xml(BytesIO(re_xml_illegal_bytes.sub(b'', xml)))
            return parse_xml(BytesIO(xml), recover=True)


def test_xxe(trivial, outdir):
    secret = outdir / 'secret.txt'
    secret.write_text("This is a secret")
    trivial.Root.Metadata = Stream(
        trivial,
        b"""\
<?xpacket begin='\xef\xbb\xbf' id='W5M0MpCehiHzreSzNTczkc9d'?>
<!DOCTYPE rdf:RDF [<!ENTITY xxe SYSTEM "file://%s">]>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image'>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<note>
<to>&xxe;</to>
<from>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</from>
</note>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end='w'?>
    """
        % os.fsencode(secret),
    )
    with trivial.open_metadata() as m:
        assert 'This is a secret' not in str(m)
CVE-2016-4444 (Python, published 2017-04-11T18:59Z)
Description: value: The allow_execmod plugin for setroubleshoot before 3.2.23 allows local users to execute arbitrary commands by triggering an execmod SELinux denial with a crafted binary filename, related to the commands.getstatusoutput function.
Severity: MEDIUM (CVSS v3 base score: 7)
Weakness: CWE-77 \u2014 Improper Neutralization of Special Elements used in a Command ('Command Injection')
The product constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component.
Repository: https://github.com/fedora-selinux/setroubleshoot
Files changed:
plugins/src/allow_execmod.py
Commit message: plugins: get rid of commands.getstatusoutput()


Vulnerable code:
        import commands
            if (commands.getstatusoutput("eu-readelf -d %s | fgrep -q TEXTREL" % avc.tpath)[0] == 1):

Fixed code:
        import subprocess
            # from https://docs.python.org/2.7/library/subprocess.html#replacing-shell-pipeline
            p1 = subprocess.Popen(['eu-readelf', '-d', avc.tpath], stdout=subprocess.PIPE)
            p2 = subprocess.Popen(["fgrep", "-q", "TEXTREL"], stdin=p1.stdout, stdout=subprocess.PIPE)
            p1.stdout.close()  # Allow p1 to receive a SIGPIPE if p2 exits.
            p1.wait()
            p2.wait()
            if p2.returncode == 1:
CVE-2016-4445 (Other, published 2017-04-11T18:59Z)
Description: value: The fix_lookup_id function in sealert in setroubleshoot before 3.2.23 allows local users to execute arbitrary commands as root by triggering an SELinux denial with a crafted file name, related to executing external commands with the commands.getstatusoutput function.
Severity: MEDIUM (CVSS v3 base score: 7)
Weakness: CWE-77 \u2014 Improper Neutralization of Special Elements used in a Command ('Command Injection')
The product constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component.
Repository: https://github.com/fedora-selinux/setroubleshoot
Files changed:
framework/src/sealert
framework/src/setroubleshoot/signature.py
Commit message: framework: get rid of commands.getstatusoutput()


Vulnerable code:
        import commands
                    command = siginfo.substitute(p.get_fix_cmd(siginfo.audit_event, plugin.args))
                    rc, output = commands.getstatusoutput(command)
                    if rc == 0:
                        print _("Successfully ran %s" % command)
                    else:
                        print output

Fixed code:
        import subprocess
                    command = siginfo.substitute_array(p.get_fix_cmd(siginfo.audit_event, plugin.args).split())
                    try:
                        output = subprocess.check_output(command)
                        print _("Successfully ran %s" % ' '.join(command))
                    except subprocess.CalledProcessError as e:
                        print(e.output)
    def substitute_array(self, args):
        return [self.substitute(txt) for txt in args]