db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lily Wei (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-3532) Invalid & possibly skipped authentication handling when shutting down the network server.
Date Fri, 07 Aug 2009 02:57:14 GMT

     [ https://issues.apache.org/jira/browse/DERBY-3532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Lily Wei updated DERBY-3532:
----------------------------

    Attachment: DERBY-3532.diff

Thank you, Kathey. I made the change with your suggestion.
It is worth noting that Network Server will automatically restart Derby embedded if it detects
in test environment. And, this is why management.InactiveManagementMBeanTest failed with the
change. As Kathey pointed out, users can shutdown the embedded engine from client with ClientDataSource
but not with DriverManager.getConnection(url) (please see DerbyRepro3532.java)
If we allow ClientDataSource to shut down embedded engine, authentication service could be
null. If DriverManager.getConnection(url) can not shutdown the engine, some tests will failed.
i.e. management.InactiveManagementMBeanTest will still have embedded engine running since
network server restart it. Maybe we should not allow ClientDataSource to shut down embedded
engine and make it too heavy of check that can impact performance. Any suggestion is welcome.

> Invalid & possibly skipped  authentication handling when shutting down the network
server.
> ------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3532
>                 URL: https://issues.apache.org/jira/browse/DERBY-3532
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Server
>    Affects Versions: 10.4.1.3, 10.5.1.1
>            Reporter: Daniel John Debrunner
>            Priority: Critical
>         Attachments: DERBY-3532.diff, ReproDerby3532.java, ReproDerby3532.java
>
>
> In NetworkServerControlImpl.checkShutdownPrivileges() code fetches the internal authentication
service to perform user authentication.
> However if no such authentication service is found (null is returned) then authentication
is bypassed, this has the potential of being a security hole.
> The discussion in DERBY-2109 indicated that even with authentication NONE, there is still
an internal authentication service, thus null is not a valid return when getting the internal
authentication service. A secure fail safe system would be to not bypass authentication if
null is returned.
> I tried removing the check for null in the method and that lead to NullPointerExceptions.
This means that something wrong is going on and very possibly no authentication checks are
actually being made when shutting down the network server.
> The null return might be due to checking the authentication after Derby has been shutdown.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message