8 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
a70728f61e fix: sanitize openresty include filenames to prevent eval injection
Add defense-in-depth sanitization for OpenResty include files to prevent
OS command injection via malicious filenames that break shell quoting in eval.

- Add filename validation in core-post-extract using regex [^a-zA-Z0-9_.-]
- Validate both http-includes and location-includes paths
- Abort deploy via dokku_log_fail on unsafe filenames
- Skip non-regular files (symlinks, directories) during extraction
- Add security regression test with unsafe filename containing space
- Keep existing guards in docker-args-process-deploy as belt-and-suspenders
- Update documentation to clarify allowed filename characters

Addresses CVSS 9.9 vulnerability where filenames like poc'$(cmd)'x.conf
could escape shell quoting and execute arbitrary commands during deploy.
2026-05-09 12:20:50 -04:00
Jose Diaz-Gonzalez
345ad6e0d0 fix: correct lint issue 2025-09-07 22:15:29 -04:00
Jose Diaz-Gonzalez
d0fd6ac0a1 fix: silence openresty extract warnings during the deploy process
Closes #7826
2025-09-07 20:35:06 -04:00
Jose Diaz-Gonzalez
2ac0e1ee29 fix: properly pass p arg 2023-10-23 23:20:17 -04:00
Jose Diaz-Gonzalez
32d0390215 feat: add the ability to specify location-block includes 2023-10-23 20:11:40 -04:00
Jose Diaz-Gonzalez
cbdba71a8b fix: recursively delete old custom openresty includes
Without this, deploys would fail if there were any non-empty include directories
2023-10-17 08:50:47 -04:00
Jose Diaz-Gonzalez
fecb9e0472 fix: ensure we cleanup extracted files prior to next deployment 2023-08-27 20:00:45 -04:00
Jose Diaz-Gonzalez
625ea14c8f feat: add openresty proxy implementation
This plugin is mostly compatible with the nginx plugin, but runs the proxy within a docker container. Users do not have direct access to add custom openresty configuration at this time, but instead receive the ability to setup automatic ssl on first request via letsencrypt integration.
2023-08-05 20:59:01 -04:00