Skip to content

docs: warn that static file serving follows symlinks under web_root#1305

Merged
lovasoa merged 2 commits into
mainfrom
ophir.lojkine/document-symlink-static-serving
Jun 10, 2026
Merged

docs: warn that static file serving follows symlinks under web_root#1305
lovasoa merged 2 commits into
mainfrom
ophir.lojkine/document-symlink-static-serving

Conversation

@lovasoa

@lovasoa lovasoa commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

SQLPage's static file serving follows symlinks under web_root and does not reject the resolved target. The threat model already treats web_root contents as a trusted deployment artifact (anything that can write there controls the app), so a symlink there is operator-controlled. The hazard worth spelling out: a symlink under web_root pointing at reserved/private files (the sqlpage/ config dir, dotfiles) or at files outside web_root makes those targets publicly reachable over HTTP, bypassing the untrusted-path guard that blocks direct requests for those names.

This is an operator hazard, not a remote vulnerability, so it belongs in the docs next to the existing deployment-artifact guidance.

Changes (docs only, no code change, no CHANGELOG entry):

  • SECURITY.md Out of Scope: one bullet stating SQLPage follows symlinks during static serving and operators must not point them at private files or outside web_root.
  • configuration.md web_root row: one-line cross-reference.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f3f04d0ea6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread SECURITY.md
Operators control web_root contents, so a symlink there is a trusted
deployment artifact. Clarify that SQLPage follows such symlinks during
static file serving, meaning a symlink under web_root pointing to
reserved/private files (sqlpage/ config, dotfiles) or to files outside
web_root would make those targets publicly reachable.

Note added to SECURITY.md (Out of Scope), cross-referenced from the
web_root row in configuration.md and an Unreleased CHANGELOG entry.
@lovasoa lovasoa force-pushed the ophir.lojkine/document-symlink-static-serving branch from f3f04d0 to f908858 Compare June 10, 2026 13:59
@lovasoa lovasoa merged commit 895096b into main Jun 10, 2026
51 checks passed
@lovasoa lovasoa deleted the ophir.lojkine/document-symlink-static-serving branch June 10, 2026 14:27
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