The vulnerability is an authentication bypass caused by the incorrect ordering of HTTP middleware in AdGuard Home's web server initialization. The analysis of the provided security advisory and the associated patch commit c003e9f9c04311a13ca7a873a8437f80711102a5 confirms this. The vulnerable function is webAPI.start in internal/home/web.go. In the vulnerable version, the authentication middleware was applied outside the h2c.NewHandler. This meant that while the initial HTTP/1.1 upgrade request was handled correctly (as it targeted a public, non-authenticated endpoint like /control/login), the subsequent HTTP/2 connection established by the h2c library used an inner handler that completely lacked the authentication middleware. The patch rectifies this by wrapping the base handler with authentication first, and then passing the fully-secured handler to h2c.NewHandler. This ensures that all requests on the connection, pre- and post-upgrade, are properly authenticated. Therefore, the webAPI.start function is the single point of failure where the vulnerable server configuration was created.