GHSA-cxf7-qrc5-9446

    Dashboard / Vulnerabilities / GHSA-cxf7-qrc5-9446

    GHSA-cxf7-qrc5-9446

    Published: 1 Mar 2022Last Modified: 8 Nov 2023

    Summary: Remote shell execution vulnerability in image_processing

    Details: ### Impact When using the `#apply` method from image_processing to apply a series of operations that are coming from unsanitized user input, this allows the attacker to execute shell commands: ```rb ImageProcessing::Vips.apply({ system: "echo EXECUTED" }) #>> EXECUTED ``` This method is called internally by Active Storage variants, so Active Storage is vulnerable as well. ### Patches The vulnerability has been fixed in version 1.12.2 of image_processing. ### Workarounds If you're processing based on user input, it's highly recommended that you always sanitize the user input, by allowing only a constrained set of operations. For example: ```rb operations = params[:operations] .map { |operation| [operation[:name], *operation[:value]] } .select { |name, *| name.to_s.include? %w[resize_to_limit strip ...] } # sanitization ImageProcessing::Vips.apply(operations) ```

    Affected packages

    Package

    Name: image_processing

    Purl: pkg:gem/image_processing

    Affected ranges

    Type: ECOSYSTEM

    Events:

    Introduced- 0
    Fixed -1.12.2

    Affected versions

    0.10.0
    0.10.1
    0.10.2
    0.10.3

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    GHSA-cxf7-qrc5-9446 | CVE-DB