IBM Support

CVE Security Vulnerability Analysis Using SQL

How To


Summary

IBM i 7.5 and 7.6 introduce the SYSTOOLS.CVE_INFO table function, providing direct SQL access to vulnerability information from the Common Vulnerabilities and Exposures (CVE) database. By making CVE data available within IBM i, administrators and security teams no longer need to manually review IBM support websites to determine whether specific vulnerabilities affect their IBM i environments.

The new function enables organizations to query and analyze vulnerability data directly from SQL, including details such as CVE identifiers, severity scores, publication dates, affected IBM products, and IBM support references. This integration allows security information to be incorporated into existing database-driven processes and reporting frameworks.

Environment

IBM i ReleasePTF GroupLevel
7.6SF99960Level 3
7.5SF99950Level 12
 

⚠  The SYSTOOLS.CVE_INFO table function requires Internet connectivity to the IBM Security Bulletin search service at: https://www.ibm.com/support/pages/securityapp/api/search

Steps

1. Executive Summary

IBM i 7.5 and 7.6 introduce the SYSTOOLS.CVE_INFO table function, which provides direct SQL access to the CVE (Common Vulnerabilities and Exposures) database for IBM i products. This eliminates the need to manually check external IBM support pages to determine which vulnerabilities affect a given release.

Security teams can now query CVE data in place — correlating vulnerability severity, publication dates, affected products, and IBM support URLs directly from within Db2 for i. This enables:

  • Automated vulnerability inventories embedded in existing SQL-based monitoring jobs
  • Prioritization workflows based on severity score and days since publication
  • Release-level comparisons to assess how vulnerability exposure changes across IBM i releases
  • Audit-ready reporting by joining CVE data with remediation tracking tables

⚠

Availability Note: SYSTOOLS.CVE_INFO is available only on IBM i 7.5 and 7.6. It requires network access to reach IBM support pages for full vulnerability details (FIELD_VULNERABLITY_DETAILS and AFFECTED_PRODUCTS).


2. Background — CVE Tracking on IBM i

2.1 What Is a CVE?

A CVE (Common Vulnerabilities and Exposures) is a standardized identifier assigned to a publicly known security vulnerability. Each CVE entry carries:

  • A unique identifier (e.g., CVE-2024-12345)
  • A severity score — Critical, High, Medium, or Low
  • A publication date and a last-modified date
  • A title and summary describing the vulnerability
  • IBM-specific details including the affected product and a support page URL

IBM i ships with a curated feed of CVEs relevant to its own product stack. The CVE_INFO table function surfaces this feed directly in SQL, filtered by release.

2.2 How IBM i Exposes CVE Data via SQL

The SYSTOOLS.CVE_INFO table function accepts a single required parameter: IBMI_RELEASE. This parameter filters the result set to CVEs relevant to the specified IBM i release.

-- Basic invocation
SELECT * FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X;

The function reaches out to IBM support infrastructure to retrieve full vulnerability details, so latency may vary depending on network connectivity. For offline environments, core fields such as CVE_ID, SCORE, PUBLISH_DATE, TITLE, and SUMMARY are still available.

2.3 Understanding Severity Scores

ScoreRisk LevelRecommended Action
CriticalHighestImmediate remediation required
HighElevatedRemediation within change window
MediumModerateEvaluate and schedule remediation
LowMinimalRemediate per patch cycle

Severity scores are assigned by IBM and may differ from CVSS base scores in some cases. Always review the https://www.ibm.com/support/pages/bulletin/ for the full assessment.

2.4 Key Fields Reference

FieldTypeDescription
CVE_IDVARCHAR(20)The CVE identifier (e.g., CVE-2024-12345)
SCOREVARCHAR(20)Severity: Critical, High, Medium, or Low
PUBLISH_DATEDATEDate the CVE was first published
TITLEVARCHAR(2000)Short descriptive title of the vulnerability
IBM_SUPPORT_URLVARCHAR(200)IBM support page URL with full remediation details
SUMMARYVARCHAR(2000)Brief summary of the vulnerability
DESCRIPTIONVARCHAR(5000)Full description of the vulnerability
PRODUCT_IDVARCHAR(7)IBM product identifier code
PRODUCT_NAMEVARCHAR(50)Human-readable IBM product name
IBMI_RELEASECHAR(3)IBM i release identifier (e.g., 7.6)
MODIFICATION_DATEDATEDate the CVE record was last updated
X_FORCE_URLVARCHAR(100)IBM X-Force URL for this CVE
FIELD_VULNERABLITY_DETAILSCLOB(102400)HTML-formatted additional vulnerability details
AFFECTED_PRODUCTSVARCHAR(3000)HTML-formatted affected product information

ℹ

FIELD_VULNERABLITY_DETAILS and AFFECTED_PRODUCTS are retrieved from the IBM support page and require network connectivity. 


3. SQL Queries — Inventory and Baseline

3.1 All CVEs for the Current Release

The starting point for any CVE assessment is a full inventory of known vulnerabilities for the running release.

Query 3.1
-- All CVEs for IBM i 7.6, ordered by severity and publish date
SELECT
    CVE_ID,
    SCORE,
    PUBLISH_DATE,
    MODIFICATION_DATE,
    PRODUCT_NAME,
    TITLE,
    IBM_SUPPORT_URL
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
ORDER BY
    CASE SCORE
        WHEN 'Critical' THEN 1
        WHEN 'High'     THEN 2
        WHEN 'Medium'   THEN 3
        WHEN 'Low'      THEN 4
        ELSE 5
    END,
    PUBLISH_DATE DESC;

Sample Report

CVE_IDScorePublish DateMod DateProductTitleSupport URL
CVE-2026-32635Critical2026-07-222026-07-22IBM iIBM Db2 Mirror for i is vulnerable to cross-site scripting due to Angular [CVE-2026-32635, CVE-2026-27970]node/7280719
CVE-2026-34182Critical2026-07-142026-07-14IBM iIBM i is Affected By Multiple Vulnerabilities in OpenSSLnode/7280075
CVE-2026-8633Critical2026-06-222026-06-22IBM iIBM i is Affected By Denial of Service, HTTP Request Smuggling, and Remote Code Execution Vulnerabilities in IBM WebSphere Application Server Libertynode/7277344
CVE-2026-31789Critical2026-06-082026-06-08IBM iIBM i is Affected By NULL Pointer Dereference, Use After Free, and Out-of-Bounds Write Vulnerabilities in OpenSSLnode/7275506
CVE-2026-29063Critical2026-04-022026-04-02IBM iIBM i is Affected by Use of Hard-coded Cryptographic Key, Cross-site Scripting, and Prototype Pollution Vulnerabilities in IBM WebSphere Application Server Libertynode/7268448
CVE-2017-14952Critical2025-07-312025-07-31IBM iIBM i is affected by multiple vulnerabilities in International Components for Unicode (ICU) option 39node/7241126
CVE-2026-54399High2026-07-302026-07-31IBM iIBM i is Affected By Denial of Service Vulnerability in Electronic Service Agent [CVE-2026-54399]node/7281844
CVE-2026-9563High2026-07-222026-07-22IBM iIBM i is Affected By Multiple Vulnerabilities in IBM WebSphere Application Server Libertynode/7280782
CVE-2026-9322High2026-07-222026-07-22IBM iIBM i is Affected By Multiple Vulnerabilities in IBM WebSphere Application Server Libertynode/7280782
CVE-2026-9171High2026-07-222026-07-22IBM iIBM i is Affected By Multiple Vulnerabilities in IBM WebSphere Application Server Libertynode/7280782
CVE-2026-9071High2026-07-222026-07-22IBM iIBM i is Affected By Multiple Vulnerabilities in IBM WebSphere Application Server Libertynode/7280782

3.2 CVE Count by Severity Score

Before diving into individual vulnerabilities, understand the overall severity landscape.

Query 3.2
-- CVE count and percentage by severity score
WITH CVE_BASE AS (
    SELECT SCORE
    FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
),
TOTALS AS (
    SELECT COUNT(*) AS TOTAL_CVES FROM CVE_BASE
)
SELECT
    C.SCORE,
    COUNT(*) AS CVE_COUNT,
    TOTAL_CVES,
    CAST(
        DECIMAL(COUNT(*) * 100, 5, 1) / TOTAL_CVES
    AS DECIMAL(5,1)) AS PCT_OF_TOTAL
FROM CVE_BASE C
CROSS JOIN TOTALS
GROUP BY C.SCORE, TOTAL_CVES
ORDER BY
    CASE C.SCORE
        WHEN 'Critical' THEN 1
        WHEN 'High'     THEN 2
        WHEN 'Medium'   THEN 3
        WHEN 'Low'      THEN 4
        ELSE 5
    END;
  • Get an at-a-glance view of the severity distribution across the full CVE list.

3.3 Most Recently Published CVEs

Track newly disclosed vulnerabilities that may not yet have PTFs available.

Query 3.3
-- 20 most recently published CVEs
SELECT
    CVE_ID, SCORE, PUBLISH_DATE, PRODUCT_NAME,
    TITLE, SUMMARY, IBM_SUPPORT_URL
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
ORDER BY PUBLISH_DATE DESC
FETCH FIRST 20 ROWS ONLY;

3.4 Most Recently Modified CVEs

IBM may revise CVE records after initial publication — for example, to update severity scores, add PTF references, or clarify affected products.

Query 3.4
-- CVEs modified in the last 60 days
SELECT
    CVE_ID, SCORE, PUBLISH_DATE, MODIFICATION_DATE,
    PRODUCT_NAME, TITLE, IBM_SUPPORT_URL
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
WHERE MODIFICATION_DATE >= CURRENT DATE - 60 DAYS
ORDER BY MODIFICATION_DATE DESC;
  • Catch CVEs where the severity or remediation guidance has changed since initial publication.

4. SQL Queries — High-Priority Vulnerability Focus

4.1 Critical and High Severity CVEs

These are the CVEs that demand immediate attention. Isolate them for rapid review and remediation scheduling.

Query 4.1
-- Critical and High severity CVEs — action required
SELECT
    CVE_ID,
    SCORE,
    PUBLISH_DATE,
    DAYS(CURRENT DATE) - DAYS(PUBLISH_DATE) AS DAYS_OPEN,
    PRODUCT_NAME,
    TITLE,
    SUMMARY,
    IBM_SUPPORT_URL
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
WHERE SCORE IN ('Critical', 'High')
ORDER BY
    CASE SCORE
        WHEN 'Critical' THEN 1
        WHEN 'High'     THEN 2
    END,
    PUBLISH_DATE ASC;

Sample Report

CVE_IDScorePublish DateDays OpenProductTitleSummary
CVE-2017-14952Critical2025-07-31368IBM iIBM i is affected by multiple vulnerabilities in ICU option 39 [CVE-2017-14952 CVE-2011-4599 CVE-2017-17484]ICU4C version 4.0 includes vulnerabilities that cannot be remediated with an IBM fix. CVE CVSS Base scores do not factor in built-in ILE protections that greatly reduce the impact.
CVE-2026-29063Critical2026-04-02123IBM iIBM i is Affected by Use of Hard-coded Cryptographic Key, Cross-site Scripting, and Prototype Pollution Vulnerabilities in IBM WebSphere Application Server LibertyWAS Liberty for IBM i is vulnerable to providing weaker than expected security [CVE-2025-14923], improper validation of user-supplied input [CVE-2025-12635], and improperly controlled modification of object prototype attributes [CVE-2026-29063].
CVE-2026-31789Critical2026-06-0856IBM iIBM i is Affected By NULL Pointer Dereference, Use After Free, and Out-of-Bounds Write Vulnerabilities in OpenSSLOpenSSL for IBM i is vulnerable to NULL pointer dereferences, use after free when using DANE TLSA-based server authentication, and out-of-bound write when converting a large octet string to hexadecimal.
CVE-2026-8633Critical2026-06-2242IBM iIBM i is Affected By Denial of Service, HTTP Request Smuggling, and Remote Code Execution Vulnerabilities in IBM WebSphere Application Server LibertyWAS Liberty for IBM i is vulnerable to denial of service, remote code execution, and HTTP request smuggling when an attacker passes crafted requests or impersonates the application server.
CVE-2026-34182Critical2026-07-1420IBM iIBM i is Affected By Multiple Vulnerabilities in OpenSSLOpenSSL for IBM i is vulnerable to out-of-bounds read, null pointer dereferences, missing cryptographic steps, use after free, and out-of-bounds write across multiple CVEs.
CVE-2026-32635Critical2026-07-2212IBM iIBM Db2 Mirror for i is vulnerable to cross-site scripting due to Angular [CVE-2026-32635, CVE-2026-27970]The IBM Db2 Mirror for i GUI uses the Angular web framework. The version of Angular used is vulnerable to cross-site scripting.
CVE-2025-2947High2025-04-17473IBM iIBM i is vulnerable to a privilege escalation due to incorrect profile swapping in an OS command [CVE-2025-2947]IBM i contains a privilege escalation vulnerability due to incorrect swapping in an OS command.
CVE-2025-33103High2025-05-17443IBM iIBM i is vulnerable to a privilege escalation vulnerability in IBM TCP/IP Connectivity Utilities for i [CVE-2025-33103]IBM i contains a privilege escalation vulnerability in IBM TCP/IP Connectivity Utilities for i.
CVE-2025-33122High2025-06-18411IBM iIBM i is affected by a user gaining elevated privileges due to an unqualified library call vulnerability in IBM Advanced Job Scheduler for iA user with the capability to compile or restore a program can gain elevated privileges due to an unqualified library call vulnerability in IBM Advanced Job Scheduler for i.
CVE-2025-33109High2025-07-24375IBM iIBM i is vulnerable to a privilege escalation due to an invalid database authority check [CVE-2025-33109]IBM i contains a privilege escalation vulnerability due to an invalid database authority check.

4.2 Unresolved CVEs Older Than 90 Days

Long-open vulnerabilities represent accumulated remediation debt. Flag anything over 90 days for escalation.

Query 4.2
-- CVEs published more than 90 days ago — remediation overdue
SELECT
    CVE_ID, SCORE, PUBLISH_DATE,
    DAYS(CURRENT DATE) - DAYS(PUBLISH_DATE) AS DAYS_OPEN,
    PRODUCT_NAME, TITLE, IBM_SUPPORT_URL
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
WHERE PUBLISH_DATE < CURRENT DATE - 90 DAYS
ORDER BY
    CASE SCORE
        WHEN 'Critical' THEN 1
        WHEN 'High'     THEN 2
        WHEN 'Medium'   THEN 3
        WHEN 'Low'      THEN 4
        ELSE 5
    END,
    DAYS_OPEN DESC;
  • Any Critical or High CVE older than 90 days should be escalated immediately.

4.3 CVEs by Product Name

When a specific IBM i component has recently had issues, narrow the scope to that product.

Query 4.3
-- All CVEs for a specific product — parameterise as needed
SELECT
    CVE_ID, SCORE, PUBLISH_DATE, PRODUCT_ID,
    PRODUCT_NAME, TITLE, SUMMARY, IBM_SUPPORT_URL
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
WHERE UPPER(PRODUCT_NAME) LIKE '%IBM I%'
ORDER BY
    CASE SCORE
        WHEN 'Critical' THEN 1
        WHEN 'High'     THEN 2
        WHEN 'Medium'   THEN 3
        WHEN 'Low'      THEN 4
        ELSE 5
    END,
    PUBLISH_DATE DESC;
  • Change the LIKE predicate to the product of interest (e.g., '%DB2%', '%HTTP%').

4.4 CVEs Across All Supported Releases

Compare the CVE landscape across both 7.5 and 7.6 to understand how vulnerability exposure differs between releases.

Query 4.4
-- CVE comparison across IBM i 7.5 and 7.6
SELECT
    CVE_ID, SCORE, PUBLISH_DATE, PRODUCT_NAME,
    IBMI_RELEASE, TITLE, IBM_SUPPORT_URL
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.5')) AS X

UNION ALL

SELECT
    CVE_ID, SCORE, PUBLISH_DATE, PRODUCT_NAME,
    IBMI_RELEASE, TITLE, IBM_SUPPORT_URL
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS Y

ORDER BY CVE_ID, IBMI_RELEASE;
  • Identify CVEs that span both releases (upgrade planning) or are unique to one release (release-specific risk).

5. SQL Queries — Trend and Pattern Analysis

5.1 CVE Publication Trend by Month

Understanding the rate of new CVE publications helps security teams anticipate patch cycles and staffing needs.

Query 5.1
-- CVE publication count by year and month
SELECT
    YEAR(PUBLISH_DATE)  AS PUB_YEAR,
    MONTH(PUBLISH_DATE) AS PUB_MONTH,
    COUNT(*)            AS CVE_COUNT,
    SUM(CASE WHEN SCORE = 'Critical' THEN 1 ELSE 0 END) AS CRITICAL_COUNT,
    SUM(CASE WHEN SCORE = 'High'     THEN 1 ELSE 0 END) AS HIGH_COUNT,
    SUM(CASE WHEN SCORE = 'Medium'   THEN 1 ELSE 0 END) AS MEDIUM_COUNT,
    SUM(CASE WHEN SCORE = 'Low'      THEN 1 ELSE 0 END) AS LOW_COUNT
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
GROUP BY YEAR(PUBLISH_DATE), MONTH(PUBLISH_DATE)
ORDER BY PUB_YEAR DESC, PUB_MONTH DESC;
  • Spikes often correspond to major IBM security bulletins or PTF group releases.

5.2 Score Distribution Summary

A simple pivot showing how many CVEs fall into each severity band.

Query 5.2
-- Score distribution — pivot summary
SELECT
    COUNT(*)                                             AS TOTAL_CVES,
    SUM(CASE WHEN SCORE = 'Critical' THEN 1 ELSE 0 END) AS CRITICAL,
    SUM(CASE WHEN SCORE = 'High'     THEN 1 ELSE 0 END) AS HIGH,
    SUM(CASE WHEN SCORE = 'Medium'   THEN 1 ELSE 0 END) AS MEDIUM,
    SUM(CASE WHEN SCORE = 'Low'      THEN 1 ELSE 0 END) AS LOW
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X;
  • Ideal for inclusion in scheduled SQL reports sent to management as a one-line executive dashboard cell.

5.3 Most Active Products by CVE Count

Identify which IBM i products contribute the most CVEs, indicating where remediation effort should be concentrated.

Query 5.3
-- CVE count and severity breakdown by product
SELECT
    PRODUCT_ID,
    PRODUCT_NAME,
    COUNT(*)                                             AS TOTAL_CVES,
    SUM(CASE WHEN SCORE = 'Critical' THEN 1 ELSE 0 END) AS CRITICAL,
    SUM(CASE WHEN SCORE = 'High'     THEN 1 ELSE 0 END) AS HIGH,
    SUM(CASE WHEN SCORE = 'Medium'   THEN 1 ELSE 0 END) AS MEDIUM,
    SUM(CASE WHEN SCORE = 'Low'      THEN 1 ELSE 0 END) AS LOW,
    MIN(PUBLISH_DATE)                                    AS EARLIEST_CVE,
    MAX(PUBLISH_DATE)                                    AS LATEST_CVE
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
GROUP BY PRODUCT_ID, PRODUCT_NAME
ORDER BY TOTAL_CVES DESC;
  • Sort by CRITICAL DESC to focus on highest-risk products.

5.4 CVEs Introduced in the Last 30 Days

A focused view of brand-new CVEs for integration into a weekly or monthly security review.

Query 5.4
-- New CVEs published in the last 30 days
SELECT
    CVE_ID, SCORE, PUBLISH_DATE, PRODUCT_NAME,
    TITLE, SUMMARY, IBM_SUPPORT_URL, X_FORCE_URL
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
WHERE PUBLISH_DATE >= CURRENT DATE - 30 DAYS
ORDER BY
    CASE SCORE
        WHEN 'Critical' THEN 1
        WHEN 'High'     THEN 2
        WHEN 'Medium'   THEN 3
        WHEN 'Low'      THEN 4
        ELSE 5
    END,
    PUBLISH_DATE DESC;
  • Run weekly and compare with the prior week's output to detect new disclosures.

6. SQL Queries — Operational Risk Dashboard

6.1 Full CVE Risk Summary by Score and Product

A comprehensive single query that provides a prioritized, multi-dimensional view of the CVE landscape for a release.

Query 6.1
-- CVE risk summary — score × product × age
SELECT
    SCORE,
    PRODUCT_NAME,
    CVE_ID,
    PUBLISH_DATE,
    DAYS(CURRENT DATE) - DAYS(PUBLISH_DATE) AS DAYS_OPEN,
    MODIFICATION_DATE,
    TITLE,
    IBM_SUPPORT_URL
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
ORDER BY
    CASE SCORE
        WHEN 'Critical' THEN 1
        WHEN 'High'     THEN 2
        WHEN 'Medium'   THEN 3
        WHEN 'Low'      THEN 4
        ELSE 5
    END,
    PRODUCT_NAME,
    DAYS_OPEN DESC;

Sample Report

ScoreProductCVE_IDPublish DateDays OpenMod DateTitleSupport URL
CriticalIBM iCVE-2017-149522025-07-313682025-07-31IBM i is affected by multiple vulnerabilities in ICU option 39node/7241126
CriticalIBM iCVE-2026-290632026-04-021232026-04-02IBM i is Affected by Use of Hard-coded Cryptographic Key, Cross-site Scripting, and Prototype Pollution Vulnerabilities in IBM WebSphere Application Server Libertynode/7268448
CriticalIBM iCVE-2026-317892026-06-08562026-06-08IBM i is Affected By NULL Pointer Dereference, Use After Free, and Out-of-Bounds Write Vulnerabilities in OpenSSLnode/7275506
CriticalIBM iCVE-2026-86332026-06-22422026-06-22IBM i is Affected By Denial of Service, HTTP Request Smuggling, and Remote Code Execution Vulnerabilities in IBM WebSphere Application Server Libertynode/7277344
CriticalIBM iCVE-2026-341822026-07-14202026-07-14IBM i is Affected By Multiple Vulnerabilities in OpenSSLnode/7280075
CriticalIBM iCVE-2026-326352026-07-22122026-07-22IBM Db2 Mirror for i is vulnerable to cross-site scripting due to Angularnode/7280719
HighIBM iCVE-2025-29472025-04-174732025-04-17IBM i is vulnerable to a privilege escalation due to incorrect profile swapping in an OS commandnode/7231025
HighIBM iCVE-2025-331032025-05-174432025-05-17IBM i is vulnerable to a privilege escalation vulnerability in IBM TCP/IP Connectivity Utilities for inode/7233799
HighIBM iCVE-2025-331222025-06-184112025-06-18IBM i is affected by a user gaining elevated privileges due to an unqualified library call vulnerability in IBM Advanced Job Scheduler for inode/7237040

6.2 CVE Aging Report — Days Since Publication

Segment the CVE backlog into aging buckets to measure remediation velocity over time.

Query 6.2
-- CVE aging buckets — measure remediation debt
SELECT
    SCORE,
    SUM(CASE WHEN DAYS(CURRENT DATE) - DAYS(PUBLISH_DATE) <=  30 THEN 1 ELSE 0 END) AS "0-30 Days",
    SUM(CASE WHEN DAYS(CURRENT DATE) - DAYS(PUBLISH_DATE) BETWEEN  31 AND  60 THEN 1 ELSE 0 END) AS "31-60 Days",
    SUM(CASE WHEN DAYS(CURRENT DATE) - DAYS(PUBLISH_DATE) BETWEEN  61 AND  90 THEN 1 ELSE 0 END) AS "61-90 Days",
    SUM(CASE WHEN DAYS(CURRENT DATE) - DAYS(PUBLISH_DATE) BETWEEN  91 AND 180 THEN 1 ELSE 0 END) AS "91-180 Days",
    SUM(CASE WHEN DAYS(CURRENT DATE) - DAYS(PUBLISH_DATE)  > 180 THEN 1 ELSE 0 END) AS ">180 Days",
    COUNT(*) AS TOTAL
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
GROUP BY SCORE
ORDER BY
    CASE SCORE
        WHEN 'Critical' THEN 1
        WHEN 'High'     THEN 2
        WHEN 'Medium'   THEN 3
        WHEN 'Low'      THEN 4
        ELSE 5
    END;
  • Measure SLA compliance against internal remediation targets. Critical CVEs in the >180 Days bucket require immediate escalation.

7. Remediation and Operational Guidance

Phase 1 — Establish a CVE Baseline

Before acting, understand the complete scope of exposure:

  1. Run Query 3.1 to retrieve all CVEs for the current release
  2. Run Query 3.2 to understand the severity distribution
  3. Capture the result set to a baseline snapshot table for future comparison:
-- Optional: persist a baseline snapshot
CREATE TABLE QTEMP.CVE_BASELINE AS (
    SELECT CURRENT DATE AS SNAPSHOT_DATE, X.*
    FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
) WITH DATA;

Phase 2 — Prioritize by Score and Age

Apply the following triage framework:

PriorityCriteriaTarget
P1Critical, any ageRemediate within 7 days
P2High, ≤ 30 days oldRemediate within 30 days
P3High, > 30 days oldRemediate within 14 days (overdue)
P4MediumRemediate within next patch cycle
P5LowRemediate per annual schedule

Use Query 4.1 and Query 4.2 to produce the P1–P3 list for the current sprint.

Phase 3 — Track Remediation Progress

Link each CVE to its corresponding PTF by following the IBM_SUPPORT_URL:

  1. Visit the URL to identify the required PTF or PTF group
  2. Use QSYS2.PTF_INFO to confirm PTF application status:
-- Check if a specific PTF has been applied
SELECT PTF_IDENTIFIER, PTF_LOADED_STATUS, PTF_PRODUCT_ID
FROM QSYS2.PTF_INFO
WHERE PTF_IDENTIFIER = 'MFnnnnn';

Cross-reference applied PTFs against open CVEs to track closure rate.

Phase 4 — Integrate into Change Management

  • Weekly security digest: Run Query 5.4 every Monday and distribute to the security team
  • Monthly patch review: Run Query 6.1 before each patch window to set priorities
  • Pre-upgrade assessment: Run Query 4.4 to compare CVE exposure between current and target release before a version upgrade
  • Audit evidence: Capture Query 6.2 output monthly as audit evidence of remediation velocity

Phase 5 — Ongoing Monitoring

Automate CVE monitoring using IBM i scheduled jobs:

-- Alert when new Critical or High CVEs appear
SELECT CVE_ID, SCORE, PUBLISH_DATE, TITLE, IBM_SUPPORT_URL
FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X
WHERE SCORE IN ('Critical', 'High')
  AND PUBLISH_DATE >= CURRENT DATE - 7 DAYS
ORDER BY SCORE, PUBLISH_DATE DESC;
  • Run the 7-day new CVE query daily and alert on any results
  • Run the aging report (Query 6.2) weekly and escalate when Critical CVEs enter the >30 Days bucket
  • Archive monthly CVE snapshots to a permanent table for year-over-year trending
  • Review the MODIFICATION_DATE field weekly — IBM sometimes increases severity scores post-publication

8. Quick Reference

CVE_INFO Table Function Syntax

SELECT * FROM TABLE(SYSTOOLS.CVE_INFO(IBMI_RELEASE => '7.6')) AS X;

Parameter: IBMI_RELEASE — required. Valid values: '7.5', '7.6'

Severity Score ORDER BY Template

ORDER BY
    CASE SCORE
        WHEN 'Critical' THEN 1
        WHEN 'High'     THEN 2
        WHEN 'Medium'   THEN 3
        WHEN 'Low'      THEN 4
        ELSE 5
    END

Days Open Calculation

DAYS(CURRENT DATE) - DAYS(PUBLISH_DATE) AS DAYS_OPEN

CVEs Published or Modified in Last N Days

WHERE PUBLISH_DATE      >= CURRENT DATE - 30 DAYS   -- new CVEs
WHERE MODIFICATION_DATE >= CURRENT DATE - 30 DAYS   -- updated CVEs

Common Predicates

GoalPredicate
Critical onlyWHERE SCORE = 'Critical'
Critical + HighWHERE SCORE IN ('Critical', 'High')
Older than 90 daysWHERE PUBLISH_DATE < CURRENT DATE - 90 DAYS
Specific productWHERE UPPER(PRODUCT_NAME) LIKE '%DB2%'
Both 7.5 and 7.6UNION ALL with both releases

Related IBM i SQL Services

ServicePurpose
QSYS2.PTF_INFOCheck PTF application status
QSYS2.GROUP_PTF_INFOCheck PTF group levels
QSYS2.SECURITY_INFOReview system security values

References

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000CT6AAM","label":"Security-\u003EPSIRT CVE"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"and future releases;7.5.0;7.6.0"}]

Document Information

Modified date:
05 August 2026

UID

ibm17282630