Skip to content

Fix/sandbox hardening followups - #6

Merged
RuslanLomaka merged 2 commits into
masterfrom
fix/sandbox-hardening-followups
Aug 18, 2026
Merged

Fix/sandbox hardening followups#6
RuslanLomaka merged 2 commits into
masterfrom
fix/sandbox-hardening-followups

Conversation

@RuslanLomaka

Copy link
Copy Markdown
Owner

No description provided.

If the JVM dies mid-execution, the finally block in
JavaRunnerService.run() never fires, leaking java-sandbox-* Docker
containers and temp directories. This adds a periodic sweep that
force-removes anything older than a safety margin past the execution
timeout.
- Add --ulimit nofile/fsize to bound open file descriptors and
  per-file size inside the sandbox container, on top of the existing
  cap-drop/pids-limit/memory controls. Verified javac/java still run
  fine under these limits on the production Pi.
- Pin the sandbox Docker image by digest instead of the 21-jdk tag,
  so an upstream tag update can't silently change what runs in
  production.
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
B Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@RuslanLomaka
RuslanLomaka merged commit 79779c1 into master Aug 18, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant