]
Darran Lofthouse moved WFLY-7666 to WFCORE-2162:
------------------------------------------------
Project: WildFly Core (was: WildFly)
Key: WFCORE-2162 (was: WFLY-7666)
Component/s: Security
(was: Security)
Affects Version/s: (was: 11.0.0.Alpha1)
Authentication against HTTP management interface with empty username
causes Internal Server Error (status 500)
--------------------------------------------------------------------------------------------------------------
Key: WFCORE-2162
URL:
https://issues.jboss.org/browse/WFCORE-2162
Project: WildFly Core
Issue Type: Bug
Components: Security
Reporter: Ondrej Lukas
Assignee: Darran Lofthouse
Priority: Blocker
Fix For: 3.0.0.Alpha18
In case when empty username is passed during authentication to Management Console then
exception is thrown to server log and Internal Server Error (status 500) is returned to
user (which leads to displaying "Connect to Management Interface" page. User is
not able to try to login again.
In WildFly 10.1.0 this scenario works fine - after passing empty username during
authentication, authentication failed and login window is displayed again. I request
blocker due to regression.
Exception thrown to server log:
{code}
ERROR [io.undertow.request] (management task-3) UT005071: Undertow request failed
HttpServerExchange{ GET /management request
{Accept=[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8],
Accept-Language=[en-US,en;q=0.5], Accept-Encoding=[gzip, deflate], User-Agent=[Mozilla/5.0
(X11; Ubuntu; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0],
Connection=[keep-alive], Authorization=[Digest username="",
realm="ManagementRealm",
nonce="AAAAAwAAAlzTPVPLC0qPi6CaEhTCHZa+QjsuAjn3OsQXcuDYAxrOtc+rRMs=",
uri="/management", algorithm=MD5,
response="cbd764e6c09577625476340f7bcfc84d",
opaque="00000000000000000000000000000000"], Content-Type=[text/plain;
charset=utf-8], Cookie=[__utma=111872281.1874867570.1477040206.1479886566.1479982414.11;
__utmz=111872281.1477040206.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);
__utmb=111872281.5.10.1479982414; __utmt=1; __utmc=111872281],
Referer=[http://localhost:9990/console/App.html], Host=[localhost:9990]} response
{X-Frame-Options=[SAMEORIGIN]}}: java.lang.IllegalArgumentException
at javax.security.auth.callback.NameCallback.<init>(NameCallback.java:90)
at
org.wildfly.security.http.impl.DigestAuthenticationMechanism.getH_A1(DigestAuthenticationMechanism.java:233)
at
org.wildfly.security.http.impl.DigestAuthenticationMechanism.validateResponse(DigestAuthenticationMechanism.java:189)
at
org.wildfly.security.http.impl.DigestAuthenticationMechanism.evaluateRequest(DigestAuthenticationMechanism.java:121)
at
org.wildfly.security.http.util.SetMechanismInformationMechanismFactory$1.evaluateRequest(SetMechanismInformationMechanismFactory.java:115)
at
org.wildfly.security.http.util.SecurityIdentityServerMechanismFactory$1.evaluateRequest(SecurityIdentityServerMechanismFactory.java:77)
at
org.wildfly.security.http.HttpAuthenticator$AuthenticationExchange.authenticate(HttpAuthenticator.java:106)
at
org.wildfly.security.http.HttpAuthenticator$AuthenticationExchange.access$100(HttpAuthenticator.java:90)
at org.wildfly.security.http.HttpAuthenticator.authenticate(HttpAuthenticator.java:74)
at
org.wildfly.elytron.web.undertow.server.SecurityContextImpl.authenticate(SecurityContextImpl.java:82)
at
io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:50)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:207)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:809)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
{code}