Potential information disclosure: runtime Laravel log accessible without authentication in a Docker deployment
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- apache, docker, laravel, php
- Domínio
- infrastructure, security
Direção de pesquisa
Start by comparing the Docker deployment’s effective Apache configuration and persistent application volume with the supplied .htaccess rules, which returned 403 in a separate local test. Reproduce with a harmless marker in storage/logs/laravel.log and an unauthenticated request; first establish the affected image version and deployment configuration. Done means the request is denied in the affected supported configurations and a regression test covers it.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
LinkStack version
The exact application version, container image tag, and image digest of the affected deployment have not yet been recorded. The affected version range is therefore unknown.
Description
In my Docker-hosted LinkStack deployment, the runtime Laravel log is accessible over HTTP without authentication at:
/storage/logs/laravel.log
This report concerns the runtime log, not the separate, currently empty assets/storage/logs/laravel.log file included in the source repository.
Application logs should not be publicly downloadable. Depending on the exceptions and logging configuration, they may disclose stack traces, internal filesystem paths, database error details, or sensitive values included in exception messages. No credentials or personal data are included in this report.
The precise cause in the affected deployment has not yet been established. Possible causes include ineffective access-denial rules, deployment-specific configuration, or an older application directory persisted in a Docker volume. This report does not establish that every official image or a fresh installation is affected.
Details about your system
- Deployment: Docker-hosted LinkStack
- Observed behavior: unauthenticated HTTP access to
/storage/logs/laravel.log - Exact image repository, tag, and digest: not yet recorded
- LinkStack version, PHP version, Docker Compose configuration, and reverse-proxy configuration: not yet provided
How to reproduce
The following describes the reported behavior on the affected deployment; reproduction on a clean official image is still pending.
-
Use a controlled LinkStack test deployment matching the affected configuration.
-
Ensure
storage/logs/laravel.logexists and contains only a harmless test marker. Do not use production log contents. -
From an unauthenticated client, request:
curl -i 'https://<test-instance>/storage/logs/laravel.log' -
Check whether the response exposes the marker.
Expected behavior: The request is denied or the file is not web-accessible, regardless of authentication state.
Reported actual behavior: The log file can be retrieved without authentication.
Validation performed so far: A separate local Apache test using the current application checkout returned 403 Forbidden when the supplied .htaccess rules were enabled. This verifies those rules under that configuration, but is not a reproduction of the affected Docker deployment.
Possible Solution
- Verify that the container’s effective web-server configuration denies access to runtime logs and other private application directories.
- Apply the protection consistently to HTTP and HTTPS virtual hosts and supported deployment configurations.
- Add a regression test that creates a harmless runtime log marker and verifies that an unauthenticated request cannot retrieve it.
- Document how existing installations with persistent application volumes receive updated access-control rules.
- Longer term, serve only public application files from the document root rather than relying on deny rules to protect internal files.
Additional Context
Related architectural discussion:
https://github.com/LinkStackOrg/LinkStack/issues/935
That issue discusses separating public files from private application files and the limitations of .htaccess on other web servers. It does not specifically document this runtime-log exposure in Docker.
- Linguagem predominante
- Shell
- Estrelas
- 527
- Forks
- 72
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de LinkStackOrg/linkstack-docker
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
LinkStackOrg/linkstack-docker#170 · 8 reações ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
LinkStackOrg/linkstack-docker#166 ·
-
Dificuldade 4/5 1-2 dias Facilidade para iniciantes 52/100
LinkStackOrg/linkstack-docker#162 · 2 comentários ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 57/100
LinkStackOrg/linkstack-docker#161 · 1 comentário ·
-
github package out of dateAberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
LinkStackOrg/linkstack-docker#160 · 3 comentários ·
Todas as issues de LinkStackOrg/linkstack-docker
Issues semelhantes
-
e2e-failure ready-to-code
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
redhat-developer/rhdh-plugin-export-overlays#4485 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
good first issue spells
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
maintenance
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
fix(session-flow): redact.py misses bare sk-ant-oat01- tokens and stateless ghs_ tokens with dotsAbertaneeds-human
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
melodic-software/claude-code-plugins#9026 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
bug raised-by:verifier
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 79/100
medici-finance/assay#4008 ·
Mantenedores costumam responder em até 1 dia