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 Release | PTF Group | Level |
| 7.6 | SF99960 | Level 3 |
| 7.5 | SF99950 | Level 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
| Score | Risk Level | Recommended Action |
|---|---|---|
| Critical | Highest | Immediate remediation required |
| High | Elevated | Remediation within change window |
| Medium | Moderate | Evaluate and schedule remediation |
| Low | Minimal | Remediate 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
| Field | Type | Description |
|---|---|---|
CVE_ID | VARCHAR(20) | The CVE identifier (e.g., CVE-2024-12345) |
SCORE | VARCHAR(20) | Severity: Critical, High, Medium, or Low |
PUBLISH_DATE | DATE | Date the CVE was first published |
TITLE | VARCHAR(2000) | Short descriptive title of the vulnerability |
IBM_SUPPORT_URL | VARCHAR(200) | IBM support page URL with full remediation details |
SUMMARY | VARCHAR(2000) | Brief summary of the vulnerability |
DESCRIPTION | VARCHAR(5000) | Full description of the vulnerability |
PRODUCT_ID | VARCHAR(7) | IBM product identifier code |
PRODUCT_NAME | VARCHAR(50) | Human-readable IBM product name |
IBMI_RELEASE | CHAR(3) | IBM i release identifier (e.g., 7.6) |
MODIFICATION_DATE | DATE | Date the CVE record was last updated |
X_FORCE_URL | VARCHAR(100) | IBM X-Force URL for this CVE |
FIELD_VULNERABLITY_DETAILS | CLOB(102400) | HTML-formatted additional vulnerability details |
AFFECTED_PRODUCTS | VARCHAR(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.
-- 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_ID | Score | Publish Date | Mod Date | Product | Title | Support URL |
|---|---|---|---|---|---|---|
CVE-2026-32635 | Critical | 2026-07-22 | 2026-07-22 | IBM i | IBM Db2 Mirror for i is vulnerable to cross-site scripting due to Angular [CVE-2026-32635, CVE-2026-27970] | node/7280719 |
CVE-2026-34182 | Critical | 2026-07-14 | 2026-07-14 | IBM i | IBM i is Affected By Multiple Vulnerabilities in OpenSSL | node/7280075 |
CVE-2026-8633 | Critical | 2026-06-22 | 2026-06-22 | IBM i | IBM i is Affected By Denial of Service, HTTP Request Smuggling, and Remote Code Execution Vulnerabilities in IBM WebSphere Application Server Liberty | node/7277344 |
CVE-2026-31789 | Critical | 2026-06-08 | 2026-06-08 | IBM i | IBM i is Affected By NULL Pointer Dereference, Use After Free, and Out-of-Bounds Write Vulnerabilities in OpenSSL | node/7275506 |
CVE-2026-29063 | Critical | 2026-04-02 | 2026-04-02 | IBM i | IBM i is Affected by Use of Hard-coded Cryptographic Key, Cross-site Scripting, and Prototype Pollution Vulnerabilities in IBM WebSphere Application Server Liberty | node/7268448 |
CVE-2017-14952 | Critical | 2025-07-31 | 2025-07-31 | IBM i | IBM i is affected by multiple vulnerabilities in International Components for Unicode (ICU) option 39 | node/7241126 |
CVE-2026-54399 | High | 2026-07-30 | 2026-07-31 | IBM i | IBM i is Affected By Denial of Service Vulnerability in Electronic Service Agent [CVE-2026-54399] | node/7281844 |
CVE-2026-9563 | High | 2026-07-22 | 2026-07-22 | IBM i | IBM i is Affected By Multiple Vulnerabilities in IBM WebSphere Application Server Liberty | node/7280782 |
CVE-2026-9322 | High | 2026-07-22 | 2026-07-22 | IBM i | IBM i is Affected By Multiple Vulnerabilities in IBM WebSphere Application Server Liberty | node/7280782 |
CVE-2026-9171 | High | 2026-07-22 | 2026-07-22 | IBM i | IBM i is Affected By Multiple Vulnerabilities in IBM WebSphere Application Server Liberty | node/7280782 |
CVE-2026-9071 | High | 2026-07-22 | 2026-07-22 | IBM i | IBM i is Affected By Multiple Vulnerabilities in IBM WebSphere Application Server Liberty | node/7280782 |
3.2 CVE Count by Severity Score
Before diving into individual vulnerabilities, understand the overall severity landscape.
-- 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.
-- 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.
-- 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.
-- 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_ID | Score | Publish Date | Days Open | Product | Title | Summary |
|---|---|---|---|---|---|---|
CVE-2017-14952 | Critical | 2025-07-31 | 368 | IBM i | IBM 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-29063 | Critical | 2026-04-02 | 123 | IBM i | IBM i is Affected by Use of Hard-coded Cryptographic Key, Cross-site Scripting, and Prototype Pollution Vulnerabilities in IBM WebSphere Application Server Liberty | WAS 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-31789 | Critical | 2026-06-08 | 56 | IBM i | IBM i is Affected By NULL Pointer Dereference, Use After Free, and Out-of-Bounds Write Vulnerabilities in OpenSSL | OpenSSL 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-8633 | Critical | 2026-06-22 | 42 | IBM i | IBM i is Affected By Denial of Service, HTTP Request Smuggling, and Remote Code Execution Vulnerabilities in IBM WebSphere Application Server Liberty | WAS 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-34182 | Critical | 2026-07-14 | 20 | IBM i | IBM i is Affected By Multiple Vulnerabilities in OpenSSL | OpenSSL 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-32635 | Critical | 2026-07-22 | 12 | IBM i | IBM 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-2947 | High | 2025-04-17 | 473 | IBM i | IBM 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-33103 | High | 2025-05-17 | 443 | IBM i | IBM 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-33122 | High | 2025-06-18 | 411 | IBM i | IBM i is affected by a user gaining elevated privileges due to an unqualified library call vulnerability in IBM Advanced Job Scheduler for i | A 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-33109 | High | 2025-07-24 | 375 | IBM i | IBM 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.
-- 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.
-- 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
LIKEpredicate 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.
-- 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.
-- 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.
-- 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.
-- 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 DESCto 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.
-- 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.
-- 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
| Score | Product | CVE_ID | Publish Date | Days Open | Mod Date | Title | Support URL |
|---|---|---|---|---|---|---|---|
| Critical | IBM i | CVE-2017-14952 | 2025-07-31 | 368 | 2025-07-31 | IBM i is affected by multiple vulnerabilities in ICU option 39 | node/7241126 |
| Critical | IBM i | CVE-2026-29063 | 2026-04-02 | 123 | 2026-04-02 | IBM i is Affected by Use of Hard-coded Cryptographic Key, Cross-site Scripting, and Prototype Pollution Vulnerabilities in IBM WebSphere Application Server Liberty | node/7268448 |
| Critical | IBM i | CVE-2026-31789 | 2026-06-08 | 56 | 2026-06-08 | IBM i is Affected By NULL Pointer Dereference, Use After Free, and Out-of-Bounds Write Vulnerabilities in OpenSSL | node/7275506 |
| Critical | IBM i | CVE-2026-8633 | 2026-06-22 | 42 | 2026-06-22 | IBM i is Affected By Denial of Service, HTTP Request Smuggling, and Remote Code Execution Vulnerabilities in IBM WebSphere Application Server Liberty | node/7277344 |
| Critical | IBM i | CVE-2026-34182 | 2026-07-14 | 20 | 2026-07-14 | IBM i is Affected By Multiple Vulnerabilities in OpenSSL | node/7280075 |
| Critical | IBM i | CVE-2026-32635 | 2026-07-22 | 12 | 2026-07-22 | IBM Db2 Mirror for i is vulnerable to cross-site scripting due to Angular | node/7280719 |
| High | IBM i | CVE-2025-2947 | 2025-04-17 | 473 | 2025-04-17 | IBM i is vulnerable to a privilege escalation due to incorrect profile swapping in an OS command | node/7231025 |
| High | IBM i | CVE-2025-33103 | 2025-05-17 | 443 | 2025-05-17 | IBM i is vulnerable to a privilege escalation vulnerability in IBM TCP/IP Connectivity Utilities for i | node/7233799 |
| High | IBM i | CVE-2025-33122 | 2025-06-18 | 411 | 2025-06-18 | IBM i is affected by a user gaining elevated privileges due to an unqualified library call vulnerability in IBM Advanced Job Scheduler for i | node/7237040 |
6.2 CVE Aging Report — Days Since Publication
Segment the CVE backlog into aging buckets to measure remediation velocity over time.
-- 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 Daysbucket require immediate escalation.
7. Remediation and Operational Guidance
Phase 1 — Establish a CVE Baseline
Before acting, understand the complete scope of exposure:
- Run Query 3.1 to retrieve all CVEs for the current release
- Run Query 3.2 to understand the severity distribution
- 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:
| Priority | Criteria | Target |
|---|---|---|
| P1 | Critical, any age | Remediate within 7 days |
| P2 | High, ≤ 30 days old | Remediate within 30 days |
| P3 | High, > 30 days old | Remediate within 14 days (overdue) |
| P4 | Medium | Remediate within next patch cycle |
| P5 | Low | Remediate 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:
- Visit the URL to identify the required PTF or PTF group
- Use
QSYS2.PTF_INFOto 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 Daysbucket - Archive monthly CVE snapshots to a permanent table for year-over-year trending
- Review the
MODIFICATION_DATEfield 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
| Goal | Predicate |
|---|---|
| Critical only | WHERE SCORE = 'Critical' |
| Critical + High | WHERE SCORE IN ('Critical', 'High') |
| Older than 90 days | WHERE PUBLISH_DATE < CURRENT DATE - 90 DAYS |
| Specific product | WHERE UPPER(PRODUCT_NAME) LIKE '%DB2%' |
| Both 7.5 and 7.6 | UNION ALL with both releases |
Related IBM i SQL Services
| Service | Purpose |
|---|---|
QSYS2.PTF_INFO | Check PTF application status |
QSYS2.GROUP_PTF_INFO | Check PTF group levels |
QSYS2.SECURITY_INFO | Review system security values |
References
- IBM Documentation: SYSTOOLS.CVE_INFO Table Function — IBM i 7.6
- IBM Documentation: SYSTOOLS.CVE_INFO Table Function — IBM i 7.5
- IBM X-Force: IBM X-Force Exchange
Document Location
Worldwide
Was this topic helpful?
Document Information
Modified date:
05 August 2026
UID
ibm17282630