No Code Attached Yet
avatar ReLater
ReLater
15 May 2022

Steps to reproduce the issue

  • Joomla 4.1.3. Core template. Firefox 100.0.
  • Configure plugin "Http Headers" > "Content-Security-Policy (CSP)"
  • Client: Site
  • Nonce: Yes
  • Add a "Policy Directive" for "Client: Site"

script-src: {nonce} 'self' 'unsafe-inline'

  • Create a frontend menu item of type "Category List" for a article category with some articles.
  • Activate some table headers to have possibility to order table columns.
  • Open menu item in frontend with Firefox.
  • See browser inspector. Error message that Inline scripts are blocked.

Content Security Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline blockiert ("script-src"). 4 category-list

  • Try to order table columns by clicking on table headers. Fails.

Reason

Inline Javascript (onclick)

<th scope="col" id="categorylist_header_title">
 <a href="#" 

onclick="Joomla.tableOrdering('a.title','asc','', document.getElementById('adminForm'));return false;"

class="hasPopover" title="" data-bs-content="Select to sort by this column" data-bs-placement="top" data-bs-original-title="Title">Title</a></th>

If Nonces are activated modern browsers ignore the rule 'unsafe-inline'.

Result

We can't use the HTTP Header plugin with Nonces activated.

The inline scripts should be replaced by a document->addScriptDeclaration or similar. Then it will get a nonce.

avatar ReLater ReLater - open - 15 May 2022
avatar joomla-cms-bot joomla-cms-bot - change - 15 May 2022
Labels Added: No Code Attached Yet
avatar joomla-cms-bot joomla-cms-bot - labeled - 15 May 2022
avatar ReLater ReLater - change - 15 May 2022
Title
[4] Http Headers plugin. Nonces on Categorylist
[4] Http Headers plugin. Nonces on Category List
avatar ReLater ReLater - edited - 15 May 2022
avatar ReLater ReLater - change - 15 May 2022
The description was changed
avatar ReLater ReLater - edited - 15 May 2022
avatar ReLater ReLater - change - 15 May 2022
The description was changed
avatar ReLater ReLater - edited - 15 May 2022
avatar ReLater ReLater - change - 15 May 2022
The description was changed
avatar ReLater ReLater - edited - 15 May 2022
avatar ReLater ReLater - change - 15 May 2022
The description was changed
avatar ReLater ReLater - edited - 15 May 2022
avatar ReLater ReLater - change - 15 May 2022
The description was changed
avatar ReLater ReLater - edited - 15 May 2022
avatar ReLater ReLater - change - 15 May 2022
The description was changed
avatar ReLater ReLater - edited - 15 May 2022
avatar ReLater ReLater - change - 15 May 2022
The description was changed
avatar ReLater ReLater - edited - 15 May 2022
avatar ReLater ReLater - change - 15 May 2022
Title
[4] Http Headers plugin. Nonces on Category List
[4] Http Headers plugin. Nonces on Category List block inline Javascript
avatar ReLater ReLater - edited - 15 May 2022
avatar ReLater
ReLater - comment - 15 May 2022
avatar zero-24
zero-24 - comment - 15 May 2022

Yes unsafe-inline will be ignored when nonces are set and supported by the Browser.

And the solution proposal is correct too the Inline js call has to be converted into something thats pushed via the API so it can be allowed via hashes and nonces.

avatar ReLater ReLater - change - 15 May 2022
The description was changed
avatar ReLater ReLater - edited - 15 May 2022
avatar ReLater
ReLater - comment - 13 Feb 2023

As far as I see this issue should be fixed with #39730

avatar ReLater ReLater - change - 13 Feb 2023
Status New Closed
Closed_Date 0000-00-00 00:00:00 2023-02-13 12:50:14
Closed_By ReLater
avatar ReLater ReLater - close - 13 Feb 2023

Add a Comment

Login with GitHub to post a comment