Summary
PR #95 added a reusable PSSecurityHeadersFilter (X-Frame-Options, X-Content-Type-Options, Referrer-Policy, HSTS, X-XSS-Protection: 0) and registered it in the two main Rhythmyx webapps (secure + non-secure). The delivery-tier webapps — comments, feeds, forms, integrations, membership, metadata, polls — do not have any security-header filter, so they are currently missing these defenses.
Why
These webapps serve user-facing content (RSS feeds, comments, form submissions, membership profile pages, etc.). Without the response headers, they are vulnerable to:
- clickjacking (X-Frame-Options)
- MIME-sniffing attacks (X-Content-Type-Options)
- referrer leakage (Referrer-Policy)
- HTTPS downgrade on link-clicks (HSTS)
This is the same defense-in-depth that PR #95 added to the main Rhythmyx webapps.
Scope
Seven web.xml files in the delivery-tier webapps:
deliverytiersuite/delivery-tier-suite/comments/src/main/java/webapp/WEB-INF/web.xml
deliverytiersuite/delivery-tier-suite/feeds/src/main/java/webapp/WEB-INF/web.xml
deliverytiersuite/delivery-tier-suite/forms/src/main/java/webapp/WEB-INF/web.xml
deliverytiersuite/delivery-tier-suite/integrations/src/main/java/webapp/WEB-INF/web.xml
deliverytiersuite/delivery-tier-suite/membership/src/main/java/webapp/WEB-INF/web.xml
deliverytiersuite/delivery-tier-suite/metadata/src/main/java/webapp/WEB-INF/web.xml
deliverytiersuite/delivery-tier-suite/polls/src/main/java/webapp/WEB-INF/web.xml
Out of scope
WebUI/war/WEB-INF/web.xml and system/ear/WEB-INF/web.xml — already have the existing PSSecurityHeaderFilter (com.percussion.utils.security.PSSecurityHeaderFilter), which is a richer filter that does X-Frame/XSS/HSTS/CSP/Cache-Control. Adding the new filter there would create duplicate header writes.
- Test resources (
*src/test/resources*/web.xml, polls/resources/web.xml) — these are test fixtures, not production.
- Bundled Tomcat sample webapps (
system/release/tomcat/Tomcat/webapps/{balancer,jboss-web,jmx-console,...}) — not built from source.
- The
p13n-ds webapp has no <filter> block in its web.xml and ships a custom servlet container; it would need a structural change outside this slice's scope.
Verification
After the changes:
./mvn-env.sh clean install -DskipTests -fae -B builds clean.
- Each affected webapp's
target/.../WEB-INF/web.xml shows the new <filter> and <filter-mapping> for PSSecurityHeadersFilter.
- Each affected webapp's
target/.../WEB-INF/lib/perc-security-utils-*.jar exists (so the filter class is on the classpath at deploy time).
Parent epic
Part of #72 (Dependency Upgrades) and #73 (117 GAVs / 504 CVEs). Builds on #94 / PR #95.
Summary
PR #95 added a reusable
PSSecurityHeadersFilter(X-Frame-Options, X-Content-Type-Options, Referrer-Policy, HSTS, X-XSS-Protection: 0) and registered it in the two main Rhythmyx webapps (secure+non-secure). The delivery-tier webapps — comments, feeds, forms, integrations, membership, metadata, polls — do not have any security-header filter, so they are currently missing these defenses.Why
These webapps serve user-facing content (RSS feeds, comments, form submissions, membership profile pages, etc.). Without the response headers, they are vulnerable to:
This is the same defense-in-depth that PR #95 added to the main Rhythmyx webapps.
Scope
Seven web.xml files in the delivery-tier webapps:
deliverytiersuite/delivery-tier-suite/comments/src/main/java/webapp/WEB-INF/web.xmldeliverytiersuite/delivery-tier-suite/feeds/src/main/java/webapp/WEB-INF/web.xmldeliverytiersuite/delivery-tier-suite/forms/src/main/java/webapp/WEB-INF/web.xmldeliverytiersuite/delivery-tier-suite/integrations/src/main/java/webapp/WEB-INF/web.xmldeliverytiersuite/delivery-tier-suite/membership/src/main/java/webapp/WEB-INF/web.xmldeliverytiersuite/delivery-tier-suite/metadata/src/main/java/webapp/WEB-INF/web.xmldeliverytiersuite/delivery-tier-suite/polls/src/main/java/webapp/WEB-INF/web.xmlOut of scope
WebUI/war/WEB-INF/web.xmlandsystem/ear/WEB-INF/web.xml— already have the existingPSSecurityHeaderFilter(com.percussion.utils.security.PSSecurityHeaderFilter), which is a richer filter that does X-Frame/XSS/HSTS/CSP/Cache-Control. Adding the new filter there would create duplicate header writes.*src/test/resources*/web.xml,polls/resources/web.xml) — these are test fixtures, not production.system/release/tomcat/Tomcat/webapps/{balancer,jboss-web,jmx-console,...}) — not built from source.p13n-dswebapp has no<filter>block in its web.xml and ships a custom servlet container; it would need a structural change outside this slice's scope.Verification
After the changes:
./mvn-env.sh clean install -DskipTests -fae -Bbuilds clean.target/.../WEB-INF/web.xmlshows the new<filter>and<filter-mapping>forPSSecurityHeadersFilter.target/.../WEB-INF/lib/perc-security-utils-*.jarexists (so the filter class is on the classpath at deploy time).Parent epic
Part of #72 (Dependency Upgrades) and #73 (117 GAVs / 504 CVEs). Builds on #94 / PR #95.