Impact

An action command singularity run/shell/exec against a container specified via a library:// URI can be configured to retrieve the container from a custom library service via the singularity remote command.


In SingularityPRO 3.5 (prior to 3.5-8) if the custom remote endpoint is unavailable, or does not return a correct response, the action command will incorrectly fall back to use the default cloud.sylabs.io endpoint.


An attacker may be able to push a malicious container to the default remote endpoint with a URI that is identical to the URI used by a victim with a non-default remote endpoint. If the user's configured custom remote is inaccessible, either by co-incidence or through malicious action, a user may execute the malicious container.


This advisory differs from CVE-2021-32635 for Singularity / SingularityPRO 3.7 as incorrect use of the default remote is restricted to the case when the custom remote is unavailable.


Affected Versions

Singularity 3.5.x - 3.6.x, SingularityPRO <3.5-8.


Patches

Users should upgrade to SingularityPRO 3.5-8.


This issue affects open-source Singularity 3.5.x and 3.6.x. These versions are no longer supported and will not be patched.


Workarounds

Users who only interact with the default remote endpoint are not affected.


Installations with an execution control list configured to restrict execution to containers signed with specific secure keys are not affected.


CVE ID

CVE-2021-33622


For more information

SingularityPRO users should contact their reseller, or Sylabs via support@sylabs.io with questions or concerns.