Skip to content

Fix for insecure snapshot file names

Moderate
simonsmith published GHSA-vxjg-hchx-cc4g Jul 31, 2023

Package

npm @simonsmith/cypress-image-snapshot (npm)

Affected versions

<= 8.0.1

Patched versions

8.0.2

Description

Impact

It's possible for a user to pass a relative file path for the snapshot name and reach outside of the project directory into the machine running the test. Example:

  cy.get('h1').matchImageSnapshot('../../../ignore-relative-dirs')

The above will create an ignore-relative-dirs.png three levels up

Patches

Fixed in 8.0.2

Workarounds

Validate all the existing uses of matchImageSnapshot to ensure correct use of the filename argument. Example:

    // snapshot name will be the test title
    cy.matchImageSnapshot();

    // snapshot name will be the name passed in
    cy.matchImageSnapshot('login');

References

#15

Severity

Moderate

CVE ID

CVE-2023-38695

Weaknesses

No CWEs

Credits