Skip to content

Server leaks implementation information #1332

Open

Description

@willtemperley

Upgrade error responses provide details of the implementation and the protocol. This may be useful when debugging, but in production it's a security risk.

+ "\r\nContent-Type: text/html\r\nServer: TooTallNate Java-WebSocket\r\nContent-Length: "

Activity

  1. marci4 commented on Jul 14, 2023

    @marci4
    Collaborator

    Feel free to open a PR with a option to disable this

  2. PhilipRoman commented on Jul 14, 2023

    @PhilipRoman
    Collaborator

    I don't think there is need to change anything - it is a common practice to report the server implementation and all http servers I know do it. You can pick any site, and do curl -D - -o /dev/null https://example.com | grep -i server and see the server implementation. Apache even reports details like OpenSSL version so I don't see the issue here.

  3. willtemperley commented on Jul 14, 2023

    @willtemperley
    Author

    @PhilipRoman The issue is that it isn't necessary to expose the implementation. and if any vulnerabilities exists it makes them easier to exploit. Using your command, I can't find an important website that discloses the server implementation.

    "While exposed server information is not necessarily in itself a vulnerability, it is information that can assist attackers in exploiting other vulnerabilities that may exist."

    https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/01-Information_Gathering/02-Fingerprint_Web_Server

  4. marci4 commented on Oct 13, 2024

    @marci4
    Collaborator

    @PhilipRoman I would add an option to the Draft_6455 as well as the server to hide the implementation.
    You're cool with it?

  5. added this to the Release 1.6.0 milestone on Oct 13, 2024
  6. PhilipRoman commented on Oct 13, 2024

    @PhilipRoman
    Collaborator

    Sure, I don't see any downside

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions