La API POSIX wordexp(3) permite realizar expansiones de shell desde el lenguaje C, siendo frecuentemente recomendada para la expansión de tildes. Sin embargo, su uso con entradas no confiables es peligroso debido a la activación por defecto de la expansión de comandos. Para desactivar esta función, los desarrolladores deben pasar explícitamente la bandera WRDE_NOCMD, una medida que no garantiza la seguridad en todas las implementaciones de librerías estándar (libc).
En particular, implementaciones como la de musl delegan la expansión al shell del sistema, lo que introduce vulnerabilidades: el escaneo previo es insuficiente para evitar que patrones válidos en shells como GNU Bash se interpreten como sustituciones de comandos. De manera similar, la implementación de macOS delega en un helper de shell, una solución que Julian Squires ha señalado como vulnerable a bypasses de seguridad, aunque el estado actual depende de la configuración del shell por defecto en el sistema. La conclusión técnica es clara: no se debe utilizar wordexp(3) con entradas no confiables, incluso cuando se aplica la bandera de protección, ya que la delegación al shell del sistema introduce riesgos inherentes que no pueden mitigarse completamente mediante parámetros de bandera.
