sylabs/singularity: Singularity 3.5.2 Release
Bibliographic record
Abstract
Security Release The 3.5.2 release of Singularity contains fixes for a security issue related to incorrect file permissions (CVE-2019-19724) on user configuration and cache directories. In Singularity >=3.3.0 (on all OS/kernels) the <code>$HOME/.singularity</code> directory holding user configuration and caches is incorrectly created with 777 permissions. If the <code>$HOME</code> directory of a user has group/any <code>x</code> permission set, then a malicious user with login access to the host system may traverse into <code>$HOME/.singularity</code> and: Inject a remote.yaml configuration file that can direct interactions with Sylabs cloud services / Singularity Enterprise to a malicious server. This may result in the execution of malicious container images. Read the content of a user's cached containers, which may include sensitive private data. In Singularity >=2.4.0 (on all OS/kernels) the <code>$HOME/.singularity</code> directory and any explicit <code>SINGULARITY_CACHEDIR</code> directory are created with 755, or umask dependent permissions. If a user's <code>$HOME</code> directory, or the directory containing an explicitly set <code>SINGULARITY_CACHEDIR</code>, have group/any <code>x</code> permission set, then a malicious user with login access to the host system may: Read the content of a user's cached containers, which may include sensitive private data. Singularity 3.5.2 should be installed immediately, and all previous versions of Singularity should be removed. Additionally, we recommend running <code>chmod 700</code> against the <code>.singularity</code> directory within all user $HOME directories, especially if $HOME directories may have group/any <code>x</code> bits set on your system. Mitigations / Notes If no user <code>$HOME</code> directories have group/any <code>x</code> bits set, and <code>SINGULARITY_CACHEDIR</code> has never been set to a location open to shared access, the exploits listed above are not possible. If Singularity is configured to only run containers signed with keys specified in an execution control list, and these keys are not compromised, arbitrary malicious containers cannot be run with a <code>remote.yaml</code> exploit. Singularity 3.5.2 ensures <code>700</code> permissions are set on <code>$HOME/.singularity</code> when the <code>singularity</code> command is run by a user, and that <code>700</code> permissions are set for any existing or new explicit cache directory configured using the <code>SINGULARITY_CACHEDIR</code> environment variable. This release makes additional permission changes to further harden plugin operations against weak directory permissions / sudo secure umask settings, that should not occur without explicit administrator action. Singularity Desktop for Mac Previous alpha and beta versions of Singularity Desktop for Mac are affected by this issue. A new beta release, beta-v0.2, is being prepared, and will be available shortly. Patches against prior versions In keeping with our commitment to the open source community to release security patches incorporated into Singularity PRO, Sylabs is also releasing patches that can be applied to the 3.1, 2.6, 2.5, and 2.4 series. Even though 3.5.2 technically deprecates all previous open-source versions of Singularity, interested parties can find the patches to fix this specific issue at the following links: 3.1: https://repo.sylabs.io/security/2019/CVE-2019-19724-31.diff 2.6 / 2.5 / 2.4: https://repo.sylabs.io/security/2019/CVE-2019-19724-2x.diff Note - these prior versions of Singularity may be subject to additional security issues, addressed by further patches released previously. Please review the release history carefully before using a deprecated version of Singularity. Release Notes Security related fix 700 permissions are enforced on <code>$HOME/.singularity</code> and <code>SINGULARITY_CACHEDIR</code> directories (CVE-2019-19724). Many thanks to Stuart Barkley for reporting this issue. Bug Fixes Fixes an issue preventing use of <code>.docker/config</code> for docker registry authentication. Fixes the <code>run-help</code> command in the unprivileged workflow. Fixes a regression in the <code>inspect</code> command to support older image formats. Adds a workaround for an EL6 kernel bug regarding shared bind mounts. Fixes caching of http(s) sources with conflicting filenames. Fixes a fakeroot sandbox build error on certain filesystems, e.g. lustre, GPFS. Fixes a fakeroot build failure to a sandbox in $HOME. Fixes a fakeroot build failure from a bad def file section script location. Fixes container execution errors when CWD is a symlink. Provides a useful warning r.e. possible fakeroot build issues when seccomp support is not available. Fixes an issue where the <code>--disable-cache</code> option was not being honored.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame distilled prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. Learned from the 10,348 direct Codex labels and 10,348 direct Gemma labels. Candidate is the union of thresholded teacher heads; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels or direct frontier model labels.
Codex and Gemma teacher scores by category
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.000 | 0.000 |
| Meta-epidemiology (narrow) | 0.000 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.000 |
| Bibliometrics | 0.000 | 0.000 |
| Science and technology studies | 0.000 | 0.000 |
| Scholarly communication | 0.001 | 0.000 |
| Open science | 0.001 | 0.000 |
| Research integrity | 0.000 | 0.000 |
| Insufficient payload (model declined to judge) | 0.023 | 0.011 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; both teacher heads agree on what is shown here.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".