TMAegis
More rules for oracle-db

TMA-ORACLE-DB-2.1.1

Ensure 'extproc' Is Not Present In 'listener.ora'

HighLevel 1Automatedoracle-db

Description

extproc should be removed from the listener.ora to mitigate the risk that OS libraries can be invoked by the Oracle instance. Passes when listener.ora contains no extproc entry (or no listener.ora exists in that directory). 19c v2.0.0 titles this "Ensure 'extproc' Is Not Enabled". Reads the file from $TNS_ADMIN, or $ORACLE_HOME/network/admin when TNS_ADMIN is unset (Linux/UNIX hosts); fails when neither directory exists.

How it is checked

Audit method: Shell command

shell
d="${TNS_ADMIN:-${ORACLE_HOME:?ORACLE_HOME not set}/network/admin}"; [ -d "$d" ] || { echo "missing $d"; exit 1; }; f="$d/listener.ora"; [ -f "$f" ] || { echo compliant; exit 0; }; n=$(grep -ic extproc "$f"); [ "$n" = 0 ] && echo compliant || echo "noncompliant: extproc found in $f"
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

To remediate this recommendation, remove extproc from the listener.ora file. Instead of relying on the EXTPROC feature in Oracle to access external libraries, you can use a database directory to directly access the library files stored within the database server's file system, allowing you to execute code from those libraries within your PL/SQL code without going through a separate external process.

Properties

Operating systems
Any
Tags
oracle-dbdatabaseoraclenetworklistener
Reference
CIS Oracle Database 23ai Benchmark v1.1.0 - 2.1.1 Ensure 'extproc' Is Not Present In 'listener.ora'

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target oracle-db