On Wed, 13 Nov 2019 at 09:56, Jeffrey Holst
<[email protected]> wrote:
>
> Does AUTHPGM require that the specified program have a non-zero AC or that it 
> be in an APF authorized library?

Both.

> I ask because it appears that a very clever user may have written a program 
> whose name matches a program in the AUTHPGM list. The program executes a 
> macro instruction that requires APF authorization. It appears that he was 
> able to successfully call it from TSO.

If the user has write access to an APF authorized library (including
any library in linklist), then all is lost - the user can do anything.
If the user does not have such write access, then how did s/he invoke
this bogus program? With TSO CALL specifying a dataset name? If an
unauthorized library is in the STEPLIB (or TSOLIB defined library or
is the library specified on the CALL command), and the module name is
defined in AUTHPGM, then it should get an abend S306 and/or a message
from TSO saying that it can't be invoked.

In passing, anyone can create a load module/Program Object that has
AC(1). This is just a mark by the creator that this module is intended
to be safely invoked as the first module in a job step or directly as
a TSO command. It bestows no APF authorization by itself.

> If this is the case, is there a way to secure this. If this is not supposed 
> to work this way, this would seem to be an integrity issue that is worthy of 
> a PMR.

I'm sure IBM will treat it very seriously if you can demonstrate that
a user with *no write access to an APF authorized library* can have
their own program - no matter what it's named -  invoked in an
authorized state.

Tony H.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to