Handle blank issue IDs
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
[
|
||||
{
|
||||
"id": "BLANK-000000",
|
||||
"summary": "Fixed a Denial-of-Service (DoS) vulnerability in the GlobalProtect portal and gateway ([CVE-2021-3063](https://security.paloaltonetworks.com/CVE-2021-3063)).",
|
||||
"resolved": "",
|
||||
"caveat": "",
|
||||
"renderedHtml": "<p>Fixed a Denial-of-Service (DoS) vulnerability in the GlobalProtect portal and gateway (<a href=\"https://security.paloaltonetworks.com/CVE-2021-3063\">CVE-2021-3063</a>).</p>\n"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
type: Addressed
|
||||
product: PAN-OS
|
||||
version: 9.1.11-h3
|
||||
---
|
||||
|
||||
## BLANK-000000
|
||||
|
||||
Fixed a Denial-of-Service (DoS) vulnerability in the GlobalProtect portal and gateway ([CVE-2021-3063](https://security.paloaltonetworks.com/CVE-2021-3063)).
|
||||
@@ -0,0 +1,29 @@
|
||||
<table class="table colsep rowsep table-striped">
|
||||
<!--cq:include script="../../common/tablestack.jsp" /-->
|
||||
<colgroup>
|
||||
<col style="width: 50.0%">
|
||||
<col style="width: 50.0%">
|
||||
</colgroup>
|
||||
<thead class="thead" data-sticky-top="62" style="top: 62px;">
|
||||
<tr class="row rowsep">
|
||||
<th class="entry">
|
||||
<div class="p"><b class="ph b">Issue ID</b></div>
|
||||
</th>
|
||||
<th class="entry">
|
||||
<div class="p"><b class="ph b">Description</b></div>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="tbody">
|
||||
<tr class="row">
|
||||
<td class="entry">
|
||||
<div class="p"><b class="ph b">—</b></div>
|
||||
</td>
|
||||
<td class="entry relcol">
|
||||
<div class="p">Fixed a Denial-of-Service (DoS) vulnerability
|
||||
in the GlobalProtect portal and gateway (<a class="xref" href="https://security.paloaltonetworks.com/CVE-2021-3063" title="" data-scope="external" data-format="html" data-type="" target="_blank">CVE-2021-3063</a>).
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"description": "Tests the scenario where the issue ID cell contains only a dash (no ID disclosed), which should produce BLANK-000000."
|
||||
}
|
||||
+11
-7
@@ -136,21 +136,25 @@ export function parseIssuesFromHtmlTable(htmlText, options = {}) {
|
||||
}
|
||||
|
||||
const issueIdListMatch = leftCellText.match(ISSUE_ID_LIST_PREFIX_PATTERN);
|
||||
if (!issueIdListMatch) {
|
||||
const isBlankId = !issueIdListMatch && /^[\u2014\u2013\-]+$/.test(leftCellText.trim());
|
||||
|
||||
if (!issueIdListMatch && !isBlankId) {
|
||||
return;
|
||||
}
|
||||
|
||||
const issueIdListText = String(issueIdListMatch[1] || '');
|
||||
const issueIds = Array.from(issueIdListText.matchAll(new RegExp(ISSUE_ID_PATTERN.source, 'ig')))
|
||||
.map(match => String(match[1] || '').toUpperCase())
|
||||
.filter(Boolean);
|
||||
const issueIds = isBlankId
|
||||
? ['BLANK-000000']
|
||||
: Array.from(String(issueIdListMatch[1] || '').matchAll(new RegExp(ISSUE_ID_PATTERN.source, 'ig')))
|
||||
.map(match => String(match[1] || '').toUpperCase())
|
||||
.filter(Boolean);
|
||||
|
||||
if (issueIds.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const leftCellTrailingText = normalizeWhitespace(leftCellText.slice(issueIdListMatch[0].length));
|
||||
const metadataText = leftCellTrailingText.replace(/^[-:;,.\s]+/, '');
|
||||
const metadataText = isBlankId
|
||||
? ''
|
||||
: normalizeWhitespace(leftCellText.slice(issueIdListMatch[0].length)).replace(/^[-:;,.\s]+/, '');
|
||||
const resolved = isResolvedMetadataText(metadataText) ? metadataText : '';
|
||||
const description = rightCellText;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user