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

Hide sensitive/security related info from unprotected pages #4220

Open
tonhuisman opened this issue Aug 23, 2022 · 6 comments
Open

Hide sensitive/security related info from unprotected pages #4220

tonhuisman opened this issue Aug 23, 2022 · 6 comments
Labels
Category: Frontend Related to web-interface Category: Security Issues related to security Type: Enhancement Improve something already present

Comments

@tonhuisman
Copy link
Contributor

Currently, general info pages like /json are available without providing the admin password, when that is set. (from this discussion)

It can be hidden based on a setting in Tools/Advanced, or when the Admin password is set (less settings is better).

We should hide these fields:

  • All SSID and BSSID fields
  • All MAC fields
  • ...

(suggestions welcome)

@TD-er TD-er added Type: Enhancement Improve something already present Category: Frontend Related to web-interface Category: Security Issues related to security labels Aug 23, 2022
@fly74
Copy link

fly74 commented Aug 24, 2022

The good combination is, when a password is set, then no sensitive in json.

@TD-er
Copy link
Member

TD-er commented Aug 24, 2022

The good combination is, when a password is set, then no sensitive in json.

Agree, but.... there are existing setups out there and maybe someone does automatically fetch this data.
Or we can add the "override" option later when requested.

@fly74
Copy link

fly74 commented Aug 24, 2022

I think it is a serious security leak and must be changed.

Scenario: You have a wlan with some ESP Clients running and a MAC filter for access restriction. Now somebody (guests or somebody bad, bot ...) is scanning your subnet for host and tries (/json) on every host. Now he knows MACs for the WLAN-MAC-filter...

The default should be hiding and an override option with warning text to disable.

But I'm ready for discussion. :)

@TD-er
Copy link
Member

TD-er commented Aug 25, 2022

The default should be hiding and an override option with warning text to disable.

Don't get me wrong, we do agree on this.

However, only using a MAC filter is a bit like security-through-obscurity.
Better to have these units on a separate VLAN in your network.
Granted that knowing the MAC, you can still try to impose it as an attacker to claim an IP from the DHCP server.
But having access to a host in your network which can change its MAC is already past a point of no return regarding hacker access.
There are lots of other ways to get to know the MAC address of any host in your network, by simply doing an ARP request. Or performing a ping and looking at the ARP table of the computer. This doesn't need administrator rights on Windows or Linux as far as I know.

@fly74
Copy link

fly74 commented Aug 25, 2022

It was only a weak example.

@tonhuisman tonhuisman changed the title Hide sensitive/sucurity related info from unprotected pages Hide sensitive/security related info from unprotected pages Aug 26, 2022
@TD-er
Copy link
Member

TD-er commented Oct 16, 2023

Well I now had to break into my own units as there is a bug in ESP-IDF 5.1 I'm working on where the remote IP is not detected reliable.

And I now see where the security holes are as I was eventually able to access the tools page via some text-based browser trickery on Linux and uploading a new firmware file while I was being blocked according to the access control code.

So there is for sure room for improvement here.

But it was a nice exercise to try and break in your own code :) (took me way longer than expected)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Frontend Related to web-interface Category: Security Issues related to security Type: Enhancement Improve something already present
Projects
None yet
Development

No branches or pull requests

3 participants