Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Magento Version exposure via Setup route with default Nginx Configuration #39227

Open
1 of 5 tasks
SamJUK opened this issue Sep 30, 2024 · 7 comments · May be fixed by #39228
Open
1 of 5 tasks

Magento Version exposure via Setup route with default Nginx Configuration #39227

SamJUK opened this issue Sep 30, 2024 · 7 comments · May be fixed by #39228
Assignees
Labels
Area: Framework Component: Setup Issue: Confirmed Gate 3 Passed. Manual verification of the issue completed. Issue is confirmed Priority: P2 A defect with this priority could have functionality issues which are not to expectations. Progress: PR in progress Reported on 2.4.x Indicates original Magento version for the Issue report. Reproduced on 2.4.x The issue has been reproduced on latest 2.4-develop branch

Comments

@SamJUK
Copy link

SamJUK commented Sep 30, 2024

Preconditions and environment

Any Version of Magento using the Nginx sample config

Steps to reproduce

Navigate to https://site.com/setup/

Expected result

Return a 401/403 error, or at very minimum do not expose the exact version of Magento the site is running.

Actual result

We see a lovely page telling us exactly the Magento version is

Additional information

I believe in 2.4, the web based setup was removed. Although the page is still accessible displaying the Magento Version.

Typically those using the default Nginx configuration are less technical / security focused. And they trust the default provided Nginx configure is secure by default. I would argue exposing the exact Magento package version provides no benefit whilst telling potential bad actors exactly what exploits to attempt or search for.

Release note

No response

Triage and priority

  • Severity: S0 - Affects critical data or functionality and leaves users without workaround.
  • Severity: S1 - Affects critical data or functionality and forces users to employ a workaround.
  • Severity: S2 - Affects non-critical data or functionality and forces users to employ a workaround.
  • Severity: S3 - Affects non-critical data or functionality and does not force users to employ a workaround.
  • Severity: S4 - Affects aesthetics, professional look and feel, “quality” or “usability”.
Copy link

m2-assistant bot commented Sep 30, 2024

Hi @SamJUK. Thank you for your report.
To speed up processing of this issue, make sure that the issue is reproducible on the vanilla Magento instance following Steps to reproduce.


Join Magento Community Engineering Slack and ask your questions in #github channel.
⚠️ According to the Magento Contribution requirements, all issues must go through the Community Contributions Triage process. Community Contributions Triage is a public meeting.
🕙 You can find the schedule on the Magento Community Calendar page.
📞 The triage of issues happens in the queue order. If you want to speed up the delivery of your contribution, join the Community Contributions Triage session to discuss the appropriate ticket.

@SamJUK SamJUK linked a pull request Sep 30, 2024 that will close this issue
5 tasks
@engcom-Bravo engcom-Bravo added the Reported on 2.4.x Indicates original Magento version for the Issue report. label Oct 1, 2024
@engcom-Bravo engcom-Bravo self-assigned this Oct 1, 2024
Copy link

m2-assistant bot commented Oct 1, 2024

Hi @engcom-Bravo. Thank you for working on this issue.
In order to make sure that issue has enough information and ready for development, please read and check the following instruction: 👇

  • 1. Verify that issue has all the required information. (Preconditions, Steps to reproduce, Expected result, Actual result).
  • 2. Verify that issue has a meaningful description and provides enough information to reproduce the issue.
  • 3. Add Area: XXXXX label to the ticket, indicating the functional areas it may be related to.
  • 4. Verify that the issue is reproducible on 2.4-develop branch
    Details- If the issue is reproducible on 2.4-develop branch, please, add the label Reproduced on 2.4.x.
    - If the issue is not reproducible, add your comment that issue is not reproducible and close the issue and stop verification process here!
  • 5. Add label Issue: Confirmed once verification is complete.
  • 6. Make sure that automatic system confirms that report has been added to the backlog.

@m2-community-project m2-community-project bot added the Priority: P2 A defect with this priority could have functionality issues which are not to expectations. label Oct 1, 2024
@engcom-Bravo
Copy link
Contributor

Hi @SamJUK,

Thanks for your reporting and collaboration.

We have verified the issue in Latest 2.4-develop instance and the issue is reproducible.Kindly refer the screenshots.

Screenshot 2024-10-01 at 11 58 53

We see a lovely page telling us exactly the Magento version.

Hence Confirming the issue.

Thanks.

@engcom-Bravo engcom-Bravo added Component: Setup Issue: Confirmed Gate 3 Passed. Manual verification of the issue completed. Issue is confirmed Reproduced on 2.4.x The issue has been reproduced on latest 2.4-develop branch Area: Framework and removed Issue: ready for confirmation labels Oct 1, 2024
@github-jira-sync-bot
Copy link

✅ Jira issue https://jira.corp.adobe.com/browse/AC-13205 is successfully created for this GitHub issue.

Copy link

m2-assistant bot commented Oct 1, 2024

✅ Confirmed by @engcom-Bravo. Thank you for verifying the issue.
Issue Available: @engcom-Bravo, You will be automatically unassigned. Contributors/Maintainers can claim this issue to continue. To reclaim and continue work, reassign the ticket to yourself.

@Serfe-com
Copy link

Serfe-com commented Oct 1, 2024

For those who are exposed by an apache configuration on a server and don't want to fiddle with the code, a quick solution can be to modify setup/.htaccess by adding the lines:

   location ~ ^/setup/index.php {
+      Order Allow,Deny
+      Deny from all
   } 

This way access to setup will be forbidden by direct request when in production server.

@SamJUK
Copy link
Author

SamJUK commented Oct 1, 2024

@Serfe-com Thanks for that, should cover Apache servers well.

As far as I am aware, Nginx wont read .htaccess files. So will still need its config updated.
Or if you do not have access to the web server configs, you can instead drop the version line from the setup view file.

Nginx Configuration

 location ~* ^/setup($|/) {
     root $MAGE_ROOT;
     location ~ ^/setup/index.php {
+        deny all;
         fastcgi_pass   fastcgi_backend;

         fastcgi_param  PHP_FLAG  "session.auto_start=off \n suhosin.session.cryptua=off";

Application Level

--- setup/view/magento/setup/index.phtml
+++ setup/view/magento/setup/index.phtml
@@ -10,7 +10,6 @@
     <main class="page-content">
         <section data-section="landing" class="page-landing">
             <img class="logo" src="<?= $this->basePath() ?>/pub/images/magento-logo.svg" alt="Magento"/>
-            <p class="text-version">Version <?= htmlspecialchars($this->version, ENT_COMPAT) ?></p>
             <p class="text-welcome">
                 Welcome to Magento Admin, your online store headquarters.
                 <br>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Framework Component: Setup Issue: Confirmed Gate 3 Passed. Manual verification of the issue completed. Issue is confirmed Priority: P2 A defect with this priority could have functionality issues which are not to expectations. Progress: PR in progress Reported on 2.4.x Indicates original Magento version for the Issue report. Reproduced on 2.4.x The issue has been reproduced on latest 2.4-develop branch
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants