What level of DB access does the Groovy Script Runner plugin have?

Boris Berenberg
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 26, 2013

I am trying to understand the level of access which the Groovy Script Runner has to the DB. Given that it can rename users, I assume it has update access. Assuming that the DB user which JIRA is using to access the DB has permissions on other DB's, could the plugin actually open new connections to them? Assuming the user making the connection has the right permissions, can the plugin modify other user's permissions? Can it execute arbitrary SQL?

Cheers,
Boris

1 answer

1 accepted

6 votes
Answer accepted
JamieA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 26, 2013

Like *all* plugins it has full access to the db, and to the server that jira is running on (as the user jira runs as).

I frequently use the script runner to pop up an xterm on my workstation where I can do what I want on the jira server (as the user running jira). Put it like this: it can do everything a plugin can do, but no more, and no less. The only difference is it's easier.

> Assuming the user making the connection has the right permissions, can the plugin modify other user's permissions?

Like all plugins, yes.

> Can it execute arbitrary SQL?

As with all plugins, yes.
The only security issue I have is it blurs the distinction between admins and jira-system-admins, but plugins2 has the same issue: https://confluence.atlassian.com/display/JIRA/Managing+Global+Permissions?focusedCommentId=330797409#comment-330797409
I would restrict usage of script runner to only jira-system-admins, however this would break a lot of usages. I may make that a toggle-able setting.

Suggest an answer

Log in or Sign up to answer