deephaven-core icon indicating copy to clipboard operation
deephaven-core copied to clipboard

API method calling restrictions need to be more configurable

Open rbasralian opened this issue 1 year ago • 1 comments

We need to make some changes to the io.deephaven.server.table.validation.ColumnExpressionValidator:

  1. The class/method whitelists need to be configurable on the server
  2. We need to support package-level whitelisting
  3. If a user is allowed to run executeCode() through the API, then the ColumnExpressionValidator should be skipped for their API calls as well. (Otherwise we're just inconveniencing them without providing any security benefit.) As part of this, we should probably also disable the ability to run executeCode() by default. (So locked-down by default, but easy to add to the whitelist or to open up entirely.)

It should also be possible to have different whitelists/permissions depending on the client (e.g. by user for enterprise), but that's potentially a separate issue.

rbasralian avatar Jun 28 '24 19:06 rbasralian

There are some very common methods (e.g. Double.parseDouble(), Double.valueOf()) that seem like they should be whitelisted by default but apparently are not:

User expressions are not permitted to use method valueOf

rbasralian avatar Nov 19 '24 22:11 rbasralian