Aman-Mittal opened a new issue, #212:
URL: https://github.com/apache/fineract-backoffice-ui/issues/212

   Tracking issue for the blocking failures reported by `npm run ga:check`.
   
   At the time of writing the check reported **3/8 gates passing, 4 blocking 
failures**. Each was
   verified in the code rather than taken on the report's word.
   
   ## The failures, and why they compound
   
   1. **`Authorization` is sent to every destination.** `authInterceptor` 
clones in `Basic <token>`
      whenever a session exists, with no check on where the request is going.
   2. **`setApiUrl()` accepts any string.** It writes straight to config and 
local storage with no
      validation, so the endpoint the credentials are posted to can be set to 
anything.
   3. **The login form offers third-party API hosts.** External demo endpoints 
were hard-coded as
      selectable options on a credential-entry form.
   4. **`deploy/nginx.conf` sets no security headers.** No CSP, HSTS, 
`X-Frame-Options`,
      `X-Content-Type-Options` or `Referrer-Policy`.
   
   These are worse together than apart. (3) makes (2) a one-click action, and 
(2) makes (1) a
   credential leak: point the app at a host you control, and the next request 
carries the user's
   Basic credentials to it. (4) removes the browser-side backstop that would 
otherwise limit where
   an injected script could send anything.
   
   Nothing in the application calls a third party today, which is precisely why 
this is cheap now —
   the first analytics pixel, error reporter or vendor SDK sharing this 
`HttpClient` would inherit
   the problem silently.
   
   ## Sub-issues
   
   - Restrict the `Authorization` header to the API origin
   - Validate the API endpoint override against an allow-list
   - Remove hard-coded third-party hosts from the login form
   - Set HTTP security headers in the deployed nginx config
   
   ## Not in scope
   
   The advisory adapter-boundary backlog is a long migration tracked 
separately; `npm run lint`
   already blocks new violations, so the count only falls.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to