Hardening: unhooked emitters show the primary host on alias/onion pages #15
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type: hardening / onion privacy hygiene. Found by security audit run 3 (commit
01195c8) in a single-site lab sweep of core URL emitters.What happens
On pages served on a non-primary host (for example the onion), these core emitters still output the primary clearnet host because the plugin does not filter them:
urlfield (rawsiteurloption);get_header_image()/get_background_image()(absolute theme_mod URLs);HreflangEmitteralways emits anx-defaultlink to the primary host (src/Seo/HreflangEmitter.php:72-78), even when no host has a locale.(Feed/REST
guidis tracked separately in #10.) Correctly rewritten already: Link headers, import map / script modules, srcset, site icon, custom logo, oEmbed and RSD links.Why it is only hardening
Only the primary host is disclosed, never a client-chosen host, and hreflang already publishes configured hosts by design.
Suggested fix
Route
rest_index(url),theme_mod_header_imageandtheme_mod_background_imagethroughUrlRewriter. Consider emittingx-defaultonly when at least one host has a locale, and document that hreflang publishes the primary host on every alias.