Affected versions: IBM AIX 7.1

📖 ~4 min read  •  Source: NVD CVE-2019-4741, IBM Support Bulletin

CVE: CVE-2019-4741

NVD summary: IBM Content Navigator 3.0CD is vulnerable to Server Side Request Forgery (SSRF). This may allow an unauthenticated attacker to send unauthorized requests from the system, potentially leading to network enumeration or facilitating other attacks. IBM X-Force ID: 172815.

References: exchange.xforce.ibmcloud.com/vulnerabilities/172   www.ibm.com/support/pages/node/1846569   exchange.xforce.ibmcloud.com/vulnerabilities/172

Table of contents
  1. Symptom & Impact
  2. Environment & Reproduction
  3. Root Cause Analysis
  4. Quick Triage
  5. Step-by-Step Diagnosis
  6. Solution – Primary Fix
  7. Solution – Alternative Approaches
  8. Verification & Acceptance Criteria
  9. Rollback Plan
  10. Prevention & Hardening
  11. Related Errors & Cross-Refs
  12. References & Further Reading

Symptom & Impact

On IBM AIX 7.1 (IBM Power Systems), administrators encountering CVE-2019-4741 observe behaviour consistent with the NVD CVE-2019-4741 entry: unexpected service restarts logged through errpt, fileset integrity warnings from lppchk -v, and — for security-rated advisories — exposure to the documented threat scenario. Impact ranges from per-LPAR availability events to broader workload disruption when the affected component sits on the serving path of PowerHA, WPAR, or VIO Server roles.

Environment & Reproduction

Reproduction targets IBM AIX 7.1. Confirm release, fix level, and the installed component:

oslevel -s                          # full TL-SP-build (e.g. 7300-02-02-2420)
oslevel -r                          # recommended ML / TL
instfix -i | grep -iE 'TL|SP' | tail -20
lslpp -L | head -30                 # installed filesets
uname -aMF                          # kernel / machine / firmware
prtconf | head -40                  # hardware + LPAR config

Trigger the workflow that exposes CVE-2019-4741 — vulnerability — patch and remediation guide while collecting:

errpt -a | head -200                # decoded error log
errpt -a -s $(date +%m%d%H%M%y) > /tmp/errpt-CVE-2019-4741.txt
alog -o -t console | tail -200      # console log
alog -o -t boot | tail -200         # boot log
tail -200 /var/adm/messages 2>/dev/null   # only if syslog routes here
# Full IBM Support evidence bundle:
snap -ac                            # writes /tmp/ibmsupt/snap.pax.Z

Root Cause Analysis

Root cause is tracked at NVD CVE-2019-4741 and the corresponding IBM Support Bulletin. IBM ships fixes as APARs delivered via Technology Levels (TL) and Service Packs (SP) for IBM AIX 7.1; running an outdated TL/SP leaves the host exposed to the failure modes referenced above. Correlate fileset and APAR state with the error log:

instfix -ivk <APAR>                 # is the APAR fix installed?
lslpp -h <fileset>                  # install/update history for a fileset
lslpp -p <fileset>                  # prerequisites
emgr -l                             # interim fixes (ifixes) currently applied
errpt -a | grep -iE 'fail|crash|panic' | head
sysdumpdev -l                       # dump device config (kernel fixes may change it)

Quick Triage

Run these on IBM AIX 7.1 to capture current state related to CVE-2019-4741:

oslevel -s && oslevel -r
instfix -i | grep -iE '<APAR>|TL|SP'
errpt | head -50
lppchk -v                           # fileset version consistency
lppchk -c                           # checksum filesets against ODM
lssrc -a | grep -v active           # subsystems not active
lsdev -C | grep -i defined          # devices in Defined state (should be Available)
genld -l 2>/dev/null | head -20     # shared library load map (leaks)

Step-by-Step Diagnosis

  1. Capture exact TL/SP and APAR status.

    oslevel -s
    oslevel -r
    instfix -ivk <APAR>
  2. Pull error log entries for the impacted window (format: mmddhhmmyy).

    errpt -a -s $(date -d '-1 hour' +%m%d%H%M%y 2>/dev/null || date +%m%d%H%M%y)
  3. Verify fileset integrity and reinstall if anything is inconsistent.

    lppchk -v
    lppchk -c
    # Re-apply a damaged fileset from media:
    installp -acgXYd /usr/sys/inst.images <fileset>
  4. Inspect SRC-managed subsystems and groups.

    lssrc -a | head
    lssrc -ls <subsystem>             # detailed state
    stopsrc -s <subsystem> && startsrc -s <subsystem>
    refresh -s <subsystem>            # re-read config without restart
  5. Stage a snap for IBM Support.

    snap -ac                          # bundles diag info to /tmp/ibmsupt
    ls -la /tmp/ibmsupt/
  6. Correlate findings with NVD CVE-2019-4741, IBM Support Bulletin, and the APAR fix list to pin the change that introduced CVE-2019-4741 — vulnerability — patch and remediation guide.

Solution – Primary Fix

Apply the corrective Technology Level / Service Pack (or individual APAR fix) for IBM AIX 7.1 from IBM Fix Central. Recommended workflow uses NIM or local staging:

# 1. Download the fix bundle from https://www.ibm.com/support/fixcentral
# 2. Stage to a NIM master (or local /usr/sys/inst.images for standalone).
# 3. Take rollback safety net BEFORE applying:
alt_disk_copy -B -d hdisk1          # clone rootvg to a spare disk
lspv                                # confirm altinst_rootvg exists
# 4. Apply non-interactively from media path:
installp -acgXYd /usr/sys/inst.images all
# Or apply only the specific fileset:
installp -acgXYd /usr/sys/inst.images <fileset>
# Or use the smit menu (interactive):
smitty update_all
# Or via NIM from a master server:
# nim -o cust -a lpp_source=<src> -a fixes=update_all <target>
# 5. Reboot if BOS / kernel filesets were updated:
shutdown -Fr now
# 6. Verify on come-up:
oslevel -s
instfix -ivk <APAR>
lppchk -v

For an emergency single-CVE fix without a full SP, apply the IBM-supplied interim fix (ifix):

# Download the .epkg.Z ifix package matching this CVE/APAR:
emgr -p -e /tmp/ifix.epkg.Z         # preview only (no install)
emgr -X -e /tmp/ifix.epkg.Z         # install ifix (and force prereq override if listed)
emgr -l                             # confirm the ifix label is listed

Need help rolling this fix across an AIX fleet? Our IT Solutions & Services team manages AIX TL/SP rollouts with NIM, alt_disk_copy and mksysb rollback. Get in touch for a free consultation.

Solution – Alternative Approaches

If the primary TL/SP campaign is not viable, choose from these:

  • Apply only the interim fix (ifix) ahead of the next SP window:

    emgr -X -e /tmp/ifix.epkg.Z
    emgr -l
    # To remove later (by label, shown in emgr -l):
    emgr -r -L <ifix-label>
  • Isolate impacted workloads in a WPAR with restricted resources:

    lswpar
    mkwpar -n <name> -h <hostname>
    startwpar <name>
    syncwpar <name>                     # bring WPAR filesets in line with global
  • Front the affected service with PowerSC + a reverse proxy and lock down RBAC roles:

    aixpert -l high                     # apply high security profile
    aixpert -c                          # check current applied profile
    lssec -f /etc/security/user -s default -a admin -a rlogin
    setsecattr -r <role> auth=...       # tighten role authorisations
    swrole <role>                       # switch to least-priv role for ops
  • Migrate the LPAR temporarily to a TL/SP combination not affected by this CVE while a full upgrade is scheduled. Use alt_disk_copy to clone an unaffected rootvg from a sibling LPAR and boot it:

    alt_disk_copy -d hdisk2
    bootlist -m normal hdisk2           # boot from cloned rootvg
    shutdown -Fr now

Verification & Acceptance Criteria

All of these should pass after the fix:

oslevel -s                          # expected TL-SP-build
instfix -ivk <APAR>                 # APAR reported as installed
lppchk -v                           # exits 0 (no version inconsistency)
lppchk -c                           # exits 0 (no checksum mismatch)
errpt | head -20                    # no new fail/crash entries since fix
lssrc -a | grep -v active           # no unexpectedly stopped subsystems
emgr -l                             # ifixes superseded/removed as expected

The original reproduction for CVE-2019-4741 — vulnerability — patch and remediation guide must not trigger across two consecutive runs.

Rollback Plan

Take a rootvg safety net BEFORE the fix:

# Option A: full mksysb image (NIM target, NFS, tape, or file):
mksysb -i -X /mnt/backup/$(hostname)-pre-fix.mksysb
# Option B: alt_disk_copy clone of rootvg to a spare disk:
lspv                                # find an unused hdisk
alt_disk_copy -B -d hdisk1
lspv | grep altinst_rootvg          # confirm clone exists

To revert if the fix is bad:

# Uncommitted installp updates can be rejected:
installp -r <fileset>
# Interim fixes:
emgr -r -L <ifix-label>
# Or fall back to the cloned rootvg:
bootlist -m normal hdisk1           # the altinst_rootvg disk
shutdown -Fr now
# Verify on the recovered system:
oslevel -s && lppchk -v

Prevention & Hardening

Reduce the chance of recurrence on IBM AIX 7.1:

  • Adopt a NIM-driven TL/SP cadence with a staging LPAR per release:

    # On the NIM master, build lpp_source from the latest TL:
    nim -o define -t lpp_source -a server=master -a location=/export/lpp_source/AIX73TL02 lpp_AIX73TL02
    # Push the bundle to a target:
    nim -o cust -a lpp_source=lpp_AIX73TL02 -a fixes=update_all <target>
  • Subscribe to IBM PSIRT and the AIX security bulletins index. Use My Notifications for proactive APAR alerts.

  • Apply AIXpert + PowerSC compliance profiles aligned to your workload:

    aixpert -l high
    aixpert -c
    # PowerSC compliance scans:
    pscxpert -l default                 # PowerSC default profile
  • Enable TCB (Trusted Computing Base) integrity checks:

    tcbck -y ALL                        # check whole TCB
    trustchk -p ALL                     # print trust attributes
    trustchk -n ALL                     # check and report violations only
  • Rotate mksysb backups + alt_disk_copy before each fix campaign:

    mksysb -i -X /mnt/backup/$(hostname)-$(date +%F).mksysb
    alt_disk_copy -B -d hdisk1
  • Audit security attributes for service accounts regularly:

    lssec -f /etc/security/user -s root -a admin -a rlogin -a maxage
    lssec -f /etc/security/login.cfg -s default
    chsec -f /etc/security/user -s root -a rlogin=false

Issues that commonly surface alongside CVE-2019-4741 — vulnerability — patch and remediation guide: fileset version drift, hung subsystems, stale ODM device entries, dump-device misconfiguration after a kernel-level fix, and rootvg space exhaustion during installp. Useful triage:

lppchk -v
lssrc -a | grep -v active
lsdev -C | grep -i defined
odmget -q 'name=hdisk0' CuAt | head
sysdumpdev -l
df -g /usr /var /tmp                # rootvg filesystems

View all ibm-aix-71 tutorials on the Tutorials Hub →

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

Primary references: NVD CVE-2019-4741, IBM Support Bulletin. Manual pages useful on IBM AIX 7.1:

man installp
man instfix
man oslevel
man emgr
man nim
man alt_disk_copy
man mksysb
man errpt
man lssrc
man aixpert

Other resources: IBM Fix Central, IBM AIX documentation, AIX security bulletins, and per-component notes in /usr/share/man/info/en_US/a_doc_lib/aixbman/ implicated in CVE-2019-4741 — vulnerability — patch and remediation guide.