[
https://issues.apache.org/jira/browse/DERBY-6617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14057971#comment-14057971
]
Dag H. Wanvik edited comment on DERBY-6617 at 7/11/14 1:13 PM:
---------------------------------------------------------------
Attaching a second version of the patch [^derby-6617-2.diff], which also tests
that we write an error message on the console if we see a SecurityException
when trying to create the directory for derby.system.home
(FileMonitor#PBinitialize). It uses a forked subprocess to be able to verify
that the message is written on the console. The boot fails too. See also
DERBY-6655.
This version adds an additional message if we fail to get the value of
"derby.system.home". The test now also asserts that we see an error message for
the SecurityException seen in FileMonitor#PBinitialize, ca line 120 where we
are trying to read the property "derby.system.home".
Running regressions. [{color:green}Update: passed OK{color}]
was (Author: dagw):
Attaching a second version of the patch [^derby-6617-2.diff], which also tests
that we write an error message on the console if we see a SecurityException
when trying to create the directory for derby.system.home
(FileMonitor#PBinitialize). It uses a forked subprocess to be able to verify
that the message is written on the console. The boot fails too. See also
DERBY-6655.
This version adds an additional message if we fail to get the value of
"derby.system.home". The test now also asserts that we see an error message for
the SecurityException seen in FileMonitor#PBinitialize, ca line 120 where we
are trying to read the property "derby.system.home".
Running regressions
> Silently swallowed SecurityExceptions may disable Derby features, including
> security features.
> ----------------------------------------------------------------------------------------------
>
> Key: DERBY-6617
> URL: https://issues.apache.org/jira/browse/DERBY-6617
> Project: Derby
> Issue Type: Bug
> Components: Services
> Affects Versions: 10.11.0.0
> Reporter: Rick Hillegas
> Assignee: Dag H. Wanvik
> Attachments: derby-6617-1.diff, derby-6617-2.diff,
> derby-6617-2.status, derby-6617-junit.diff
>
>
> When the Monitor tries to read Derby properties, it silently swallows
> SecurityExceptions. This means that the properties will be silently ignored
> if Derby has not been granted sufficient privileges. This means that if you
> make a mistake crafting your security policy, then you may disable
> authentication and authorization. You may not realize this until you have
> incurred a security breach. This swallowing occurs at the following code
> locations:
> {noformat}
> org.apache.derby.impl.services.monitor.BaseMonitor readApplicationProperties
> Catch java.lang.SecurityException 1 line 1360
> org.apache.derby.impl.services.monitor.BaseMonitor runWithState Catch
> java.lang.SecurityException 0 line 280
> org.apache.derby.impl.services.monitor.FileMonitor PBgetJVMProperty Catch
> java.lang.SecurityException 1 line 183
> org.apache.derby.impl.services.monitor.FileMonitor PBinitialize Catch
> java.lang.SecurityException 1 line 120
> {noformat}
> SecurityExceptions are swallowed at other locations in the Monitor. The
> implications of these swallowings should be understood and, at a minimum,
> security problems should be fixed:
> {noformat}
> org.apache.derby.impl.services.monitor.FileMonitor PBinitialize Catch
> java.lang.SecurityException 1 line 157
> org.apache.derby.impl.services.monitor.FileMonitor createDaemonGroup Catch
> java.lang.SecurityException 1 line 89
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)