ZAP Scanning Report

Site: https://facili-tacct-preprod.osc-fr1.scalingo.io

Generated on Sun, 11 May 2025 04:34:15

ZAP Version: 2.16.1

ZAP by Checkmarx

Summary of Alerts

Risk Level Number of Alerts
High
0
Medium
3
Low
1
Informational
7
False Positives:
0

Summary of Sequences

For each step: result (Pass/Fail) - risk (of highest alert(s) for the step, if any).

Alerts

Name Risk Level Number of Instances
CSP: Wildcard Directive Medium 1
CSP: script-src unsafe-inline Medium 1
CSP: style-src unsafe-inline Medium 1
CSP: Notices Low 1
Base64 Disclosure Informational 1
Re-examine Cache-control Directives Informational 1
Sec-Fetch-Dest Header is Missing Informational 3
Sec-Fetch-Mode Header is Missing Informational 3
Sec-Fetch-Site Header is Missing Informational 3
Sec-Fetch-User Header is Missing Informational 3
Storable and Cacheable Content Informational 4

Alert Detail

Medium
CSP: Wildcard Directive
Description
Content Security Policy (CSP) is an added layer of security that helps to detect and mitigate certain types of attacks. Including (but not limited to) Cross Site Scripting (XSS), and data injection attacks. These attacks are used for everything from data theft to site defacement or distribution of malware. CSP provides a set of standard HTTP headers that allow website owners to declare approved sources of content that browsers should be allowed to load on that page — covered types are JavaScript, CSS, HTML frames, fonts, images and embeddable objects such as Java applets, ActiveX, audio and video files.
URL https://facili-tacct-preprod.osc-fr1.scalingo.io
Method GET
Parameter Content-Security-Policy
Attack
Evidence default-src 'none'; connect-src * https://*.gouv.fr https://vercel.live; font-src 'self'; media-src 'self'; img-src * 'self' data: https:; script-src 'self' 'unsafe-inline' https://stats.beta.gouv.fr https://vercel.live *.posthog.com; style-src 'self' 'unsafe-inline'; object-src 'self' data:; frame-ancestors 'none' http://localhost:5174/* http://localhost:5174 http://localhost:5173/* http://localhost:5173 https://mon-espace-collectivite-staging.osc-fr1.scalingo.io https://mon-espace-collectivite-demo.osc-secnum-fr1.scalingo.io https://les-communs-transition-ecologique-api-staging.osc-fr1.scalingo.io/sandbox/ https://preprod-app.territoiresentransitions.fr https://staging-app.territoiresentransitions.fr; base-uri 'self' https://*.gouv.fr; form-action 'self' https://*.gouv.fr; block-all-mixed-content ; upgrade-insecure-requests ; frame-src 'none';
Other Info The following directives either allow wildcard sources (or ancestors), are not defined, or are overly broadly defined: img-src, connect-src
Instances 1
Solution
Ensure that your web server, application server, load balancer, etc. is properly configured to set the Content-Security-Policy header.
Reference https://www.w3.org/TR/CSP/
https://caniuse.com/#search=content+security+policy
https://content-security-policy.com/
https://github.com/HtmlUnit/htmlunit-csp
https://developers.google.com/web/fundamentals/security/csp#policy_applies_to_a_wide_variety_of_resources
CWE Id 693
WASC Id 15
Plugin Id 10055
Medium
CSP: script-src unsafe-inline
Description
Content Security Policy (CSP) is an added layer of security that helps to detect and mitigate certain types of attacks. Including (but not limited to) Cross Site Scripting (XSS), and data injection attacks. These attacks are used for everything from data theft to site defacement or distribution of malware. CSP provides a set of standard HTTP headers that allow website owners to declare approved sources of content that browsers should be allowed to load on that page — covered types are JavaScript, CSS, HTML frames, fonts, images and embeddable objects such as Java applets, ActiveX, audio and video files.
URL https://facili-tacct-preprod.osc-fr1.scalingo.io
Method GET
Parameter Content-Security-Policy
Attack
Evidence default-src 'none'; connect-src * https://*.gouv.fr https://vercel.live; font-src 'self'; media-src 'self'; img-src * 'self' data: https:; script-src 'self' 'unsafe-inline' https://stats.beta.gouv.fr https://vercel.live *.posthog.com; style-src 'self' 'unsafe-inline'; object-src 'self' data:; frame-ancestors 'none' http://localhost:5174/* http://localhost:5174 http://localhost:5173/* http://localhost:5173 https://mon-espace-collectivite-staging.osc-fr1.scalingo.io https://mon-espace-collectivite-demo.osc-secnum-fr1.scalingo.io https://les-communs-transition-ecologique-api-staging.osc-fr1.scalingo.io/sandbox/ https://preprod-app.territoiresentransitions.fr https://staging-app.territoiresentransitions.fr; base-uri 'self' https://*.gouv.fr; form-action 'self' https://*.gouv.fr; block-all-mixed-content ; upgrade-insecure-requests ; frame-src 'none';
Other Info script-src includes unsafe-inline.
Instances 1
Solution
Ensure that your web server, application server, load balancer, etc. is properly configured to set the Content-Security-Policy header.
Reference https://www.w3.org/TR/CSP/
https://caniuse.com/#search=content+security+policy
https://content-security-policy.com/
https://github.com/HtmlUnit/htmlunit-csp
https://developers.google.com/web/fundamentals/security/csp#policy_applies_to_a_wide_variety_of_resources
CWE Id 693
WASC Id 15
Plugin Id 10055
Medium
CSP: style-src unsafe-inline
Description
Content Security Policy (CSP) is an added layer of security that helps to detect and mitigate certain types of attacks. Including (but not limited to) Cross Site Scripting (XSS), and data injection attacks. These attacks are used for everything from data theft to site defacement or distribution of malware. CSP provides a set of standard HTTP headers that allow website owners to declare approved sources of content that browsers should be allowed to load on that page — covered types are JavaScript, CSS, HTML frames, fonts, images and embeddable objects such as Java applets, ActiveX, audio and video files.
URL https://facili-tacct-preprod.osc-fr1.scalingo.io
Method GET
Parameter Content-Security-Policy
Attack
Evidence default-src 'none'; connect-src * https://*.gouv.fr https://vercel.live; font-src 'self'; media-src 'self'; img-src * 'self' data: https:; script-src 'self' 'unsafe-inline' https://stats.beta.gouv.fr https://vercel.live *.posthog.com; style-src 'self' 'unsafe-inline'; object-src 'self' data:; frame-ancestors 'none' http://localhost:5174/* http://localhost:5174 http://localhost:5173/* http://localhost:5173 https://mon-espace-collectivite-staging.osc-fr1.scalingo.io https://mon-espace-collectivite-demo.osc-secnum-fr1.scalingo.io https://les-communs-transition-ecologique-api-staging.osc-fr1.scalingo.io/sandbox/ https://preprod-app.territoiresentransitions.fr https://staging-app.territoiresentransitions.fr; base-uri 'self' https://*.gouv.fr; form-action 'self' https://*.gouv.fr; block-all-mixed-content ; upgrade-insecure-requests ; frame-src 'none';
Other Info style-src includes unsafe-inline.
Instances 1
Solution
Ensure that your web server, application server, load balancer, etc. is properly configured to set the Content-Security-Policy header.
Reference https://www.w3.org/TR/CSP/
https://caniuse.com/#search=content+security+policy
https://content-security-policy.com/
https://github.com/HtmlUnit/htmlunit-csp
https://developers.google.com/web/fundamentals/security/csp#policy_applies_to_a_wide_variety_of_resources
CWE Id 693
WASC Id 15
Plugin Id 10055
Low
CSP: Notices
Description
Content Security Policy (CSP) is an added layer of security that helps to detect and mitigate certain types of attacks. Including (but not limited to) Cross Site Scripting (XSS), and data injection attacks. These attacks are used for everything from data theft to site defacement or distribution of malware. CSP provides a set of standard HTTP headers that allow website owners to declare approved sources of content that browsers should be allowed to load on that page — covered types are JavaScript, CSS, HTML frames, fonts, images and embeddable objects such as Java applets, ActiveX, audio and video files.
URL https://facili-tacct-preprod.osc-fr1.scalingo.io
Method GET
Parameter Content-Security-Policy
Attack
Evidence default-src 'none'; connect-src * https://*.gouv.fr https://vercel.live; font-src 'self'; media-src 'self'; img-src * 'self' data: https:; script-src 'self' 'unsafe-inline' https://stats.beta.gouv.fr https://vercel.live *.posthog.com; style-src 'self' 'unsafe-inline'; object-src 'self' data:; frame-ancestors 'none' http://localhost:5174/* http://localhost:5174 http://localhost:5173/* http://localhost:5173 https://mon-espace-collectivite-staging.osc-fr1.scalingo.io https://mon-espace-collectivite-demo.osc-secnum-fr1.scalingo.io https://les-communs-transition-ecologique-api-staging.osc-fr1.scalingo.io/sandbox/ https://preprod-app.territoiresentransitions.fr https://staging-app.territoiresentransitions.fr; base-uri 'self' https://*.gouv.fr; form-action 'self' https://*.gouv.fr; block-all-mixed-content ; upgrade-insecure-requests ; frame-src 'none';
Other Info Errors: 'none' must not be combined with any other ancestor-source
Instances 1
Solution
Ensure that your web server, application server, load balancer, etc. is properly configured to set the Content-Security-Policy header.
Reference https://www.w3.org/TR/CSP/
https://caniuse.com/#search=content+security+policy
https://content-security-policy.com/
https://github.com/HtmlUnit/htmlunit-csp
https://developers.google.com/web/fundamentals/security/csp#policy_applies_to_a_wide_variety_of_resources
CWE Id 693
WASC Id 15
Plugin Id 10055
Informational
Base64 Disclosure
Description
Base64 encoded data was disclosed by the application/web server. Note: in the interests of performance not all base64 strings in the response were analyzed individually, the entire response should be looked at by the analyst/security team/developer(s).
URL https://facili-tacct-preprod.osc-fr1.scalingo.io
Method GET
Parameter
Attack
Evidence root_collectiviteWrapper__EQv0s
Other Info ��-��%��-���yjڦ�����K
Instances 1
Solution
Manually confirm that the Base64 data does not leak sensitive information, and that the data cannot be aggregated/used to exploit other vulnerabilities.
Reference https://projects.webappsec.org/w/page/13246936/Information%20Leakage
CWE Id 319
WASC Id 13
Plugin Id 10094
Informational
Re-examine Cache-control Directives
Description
The cache-control header has not been set properly or is missing, allowing the browser and proxies to cache content. For static assets like css, js, or image files this might be intended, however, the resources should be reviewed to ensure that no sensitive content will be cached.
URL https://facili-tacct-preprod.osc-fr1.scalingo.io
Method GET
Parameter cache-control
Attack
Evidence s-maxage=31536000
Other Info
Instances 1
Solution
For secure content, ensure the cache-control HTTP header is set with "no-cache, no-store, must-revalidate". If an asset should be cached consider setting the directives "public, max-age, immutable".
Reference https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html#web-content-caching
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
https://grayduck.mn/2021/09/13/cache-control-recommendations/
CWE Id 525
WASC Id 13
Plugin Id 10015
Informational
Sec-Fetch-Dest Header is Missing
Description
Specifies how and where the data would be used. For instance, if the value is audio, then the requested resource must be audio data and not any other type of resource.
URL https://facili-tacct-preprod.osc-fr1.scalingo.io
Method GET
Parameter Sec-Fetch-Dest
Attack
Evidence
Other Info
URL https://facili-tacct-preprod.osc-fr1.scalingo.io/robots.txt
Method GET
Parameter Sec-Fetch-Dest
Attack
Evidence
Other Info
URL https://facili-tacct-preprod.osc-fr1.scalingo.io/sitemap.xml
Method GET
Parameter Sec-Fetch-Dest
Attack
Evidence
Other Info
Instances 3
Solution
Ensure that Sec-Fetch-Dest header is included in request headers.
Reference https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Dest
CWE Id 352
WASC Id 9
Plugin Id 90005
Informational
Sec-Fetch-Mode Header is Missing
Description
Allows to differentiate between requests for navigating between HTML pages and requests for loading resources like images, audio etc.
URL https://facili-tacct-preprod.osc-fr1.scalingo.io
Method GET
Parameter Sec-Fetch-Mode
Attack
Evidence
Other Info
URL https://facili-tacct-preprod.osc-fr1.scalingo.io/robots.txt
Method GET
Parameter Sec-Fetch-Mode
Attack
Evidence
Other Info
URL https://facili-tacct-preprod.osc-fr1.scalingo.io/sitemap.xml
Method GET
Parameter Sec-Fetch-Mode
Attack
Evidence
Other Info
Instances 3
Solution
Ensure that Sec-Fetch-Mode header is included in request headers.
Reference https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Mode
CWE Id 352
WASC Id 9
Plugin Id 90005
Informational
Sec-Fetch-Site Header is Missing
Description
Specifies the relationship between request initiator's origin and target's origin.
URL https://facili-tacct-preprod.osc-fr1.scalingo.io
Method GET
Parameter Sec-Fetch-Site
Attack
Evidence
Other Info
URL https://facili-tacct-preprod.osc-fr1.scalingo.io/robots.txt
Method GET
Parameter Sec-Fetch-Site
Attack
Evidence
Other Info
URL https://facili-tacct-preprod.osc-fr1.scalingo.io/sitemap.xml
Method GET
Parameter Sec-Fetch-Site
Attack
Evidence
Other Info
Instances 3
Solution
Ensure that Sec-Fetch-Site header is included in request headers.
Reference https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Site
CWE Id 352
WASC Id 9
Plugin Id 90005
Informational
Sec-Fetch-User Header is Missing
Description
Specifies if a navigation request was initiated by a user.
URL https://facili-tacct-preprod.osc-fr1.scalingo.io
Method GET
Parameter Sec-Fetch-User
Attack
Evidence
Other Info
URL https://facili-tacct-preprod.osc-fr1.scalingo.io/robots.txt
Method GET
Parameter Sec-Fetch-User
Attack
Evidence
Other Info
URL https://facili-tacct-preprod.osc-fr1.scalingo.io/sitemap.xml
Method GET
Parameter Sec-Fetch-User
Attack
Evidence
Other Info
Instances 3
Solution
Ensure that Sec-Fetch-User header is included in user initiated requests.
Reference https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-User
CWE Id 352
WASC Id 9
Plugin Id 90005
Informational
Storable and Cacheable Content
Description
The response contents are storable by caching components such as proxy servers, and may be retrieved directly from the cache, rather than from the origin server by the caching servers, in response to similar requests from other users. If the response data is sensitive, personal or user-specific, this may result in sensitive information being leaked. In some cases, this may even result in a user gaining complete control of the session of another user, depending on the configuration of the caching components in use in their environment. This is primarily an issue where "shared" caching servers such as "proxy" caches are configured on the local network. This configuration is typically found in corporate or educational environments, for instance.
URL https://facili-tacct-preprod.osc-fr1.scalingo.io
Method GET
Parameter
Attack
Evidence s-maxage=31536000
Other Info
URL https://facili-tacct-preprod.osc-fr1.scalingo.io
Method GET
Parameter
Attack
Evidence
Other Info In the absence of an explicitly specified caching lifetime directive in the response, a liberal lifetime heuristic of 1 year was assumed. This is permitted by rfc7234.
URL https://facili-tacct-preprod.osc-fr1.scalingo.io/robots.txt
Method GET
Parameter
Attack
Evidence
Other Info In the absence of an explicitly specified caching lifetime directive in the response, a liberal lifetime heuristic of 1 year was assumed. This is permitted by rfc7234.
URL https://facili-tacct-preprod.osc-fr1.scalingo.io/sitemap.xml
Method GET
Parameter
Attack
Evidence
Other Info In the absence of an explicitly specified caching lifetime directive in the response, a liberal lifetime heuristic of 1 year was assumed. This is permitted by rfc7234.
Instances 4
Solution
Validate that the response does not contain sensitive, personal or user-specific information. If it does, consider the use of the following HTTP response headers, to limit, or prevent the content being stored and retrieved from the cache by another user:

Cache-Control: no-cache, no-store, must-revalidate, private

Pragma: no-cache

Expires: 0

This configuration directs both HTTP 1.0 and HTTP 1.1 compliant caching servers to not store the response, and to not retrieve the response (without validation) from the cache, in response to a similar request.
Reference https://datatracker.ietf.org/doc/html/rfc7234
https://datatracker.ietf.org/doc/html/rfc7231
https://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html
CWE Id 524
WASC Id 13
Plugin Id 10049

Sequence Details

With the associated active scan results.