From 1d70bb6024d3989f303994d3ee2fbb621c44cbcc Mon Sep 17 00:00:00 2001
From: Craig Smith <5344211-craigmsmith@users.noreply.gitlab.com>
Date: Thu, 5 May 2022 22:31:18 +0000
Subject: [PATCH] Document Browser Based DAST Passive checks 359.1 and 359.2

---
 .../application_security/dast/checks/359.1.md | 34 +++++++++++++++++++
 .../application_security/dast/checks/359.2.md | 34 +++++++++++++++++++
 .../application_security/dast/checks/index.md |  2 ++
 3 files changed, 70 insertions(+)
 create mode 100644 doc/user/application_security/dast/checks/359.1.md
 create mode 100644 doc/user/application_security/dast/checks/359.2.md

diff --git a/doc/user/application_security/dast/checks/359.1.md b/doc/user/application_security/dast/checks/359.1.md
new file mode 100644
index 000000000000..af1fdf8a5960
--- /dev/null
+++ b/doc/user/application_security/dast/checks/359.1.md
@@ -0,0 +1,34 @@
+---
+stage: Secure
+group: Dynamic Analysis
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
+---
+
+# Exposure of Private Personal Information (PII) to an unauthorized actor (credit card)
+
+## Description
+
+The target application was found to return credit card information in the response. Organizations 
+found returning such information may be in violation of industry regulations and could face fines. 
+
+## Remediation
+
+PII such as credit cards should never be directly returned to the user. The majority of the information should masked except
+the last few digits or characters of the identifier. For example, credit card numbers should
+only return the last four digits: `****-****-****-1234`. Ensure this masking is done on the server
+and only then send the masked data back to the client. Do not rely on client side JavaScript or other methods
+to mask these values as the data could still be intercepted or unmasked. 
+
+Additionally, credit card information should never be stored un-encrypted in files or databases.
+
+## Details
+
+| ID | Aggregated | CWE | Type | Risk |
+|:---|:--------|:--------|:--------|:--------|
+| 359.1 | true | 359 | Passive | Medium |
+
+## Links
+
+- [OWASP Top 10 A3 2017 - Sensitive Data Exposure](https://owasp.org/www-project-top-ten/2017/A3_2017-Sensitive_Data_Exposure)
+- [CWE](https://cwe.mitre.org/data/definitions/359.html)
+- [PCI-DSS](https://www.pcisecuritystandards.org/pdfs/pci_fs_data_storage.pdf)
diff --git a/doc/user/application_security/dast/checks/359.2.md b/doc/user/application_security/dast/checks/359.2.md
new file mode 100644
index 000000000000..beb99e260978
--- /dev/null
+++ b/doc/user/application_security/dast/checks/359.2.md
@@ -0,0 +1,34 @@
+---
+stage: Secure
+group: Dynamic Analysis
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
+---
+
+# Exposure of Private Personal Information (PII) to an unauthorized actor (United States social security number)
+
+## Description
+
+The target application was found to return social security number (SSN) information in the response. Organizations 
+found returning such information may be in violation of (United States) state or federal laws and may face stiff penalties. 
+
+## Remediation
+
+PII such as social security numbers should never be directly returned to the user. The majority of the information 
+should masked except the last few digits or characters of the identifier. For example, social security numbers
+only be displayed with the last four digits: `***-**-1234`. Ensure this masking is done on the server
+and only then send the masked data back to the client. Do not rely on client side JavaScript or other methods
+to mask these values as the data could still be intercepted or unmasked. 
+
+Additionally, social security numbers should never be stored un-encrypted in files or databases.
+
+## Details
+
+| ID | Aggregated | CWE | Type | Risk |
+|:---|:--------|:--------|:--------|:--------|
+| 359.2 | true | 359 | Passive | Medium |
+
+## Links
+
+- [OWASP Top 10 A3 2017 - Sensitive Data Exposure](https://owasp.org/www-project-top-ten/2017/A3_2017-Sensitive_Data_Exposure)
+- [CWE](https://cwe.mitre.org/data/definitions/359.html)
+- [Privacy Act (CMPPA)](https://www.ssa.gov/dataexchange/privacyinfo.html)
diff --git a/doc/user/application_security/dast/checks/index.md b/doc/user/application_security/dast/checks/index.md
index 764e3c4a8393..629ff1c3a8d0 100644
--- a/doc/user/application_security/dast/checks/index.md
+++ b/doc/user/application_security/dast/checks/index.md
@@ -18,6 +18,8 @@ The [DAST browser-based crawler](../browser_based.md) provides a number of vulne
 | [16.5](16.5.md) | AspNet header exposes version information | Low | Passive |
 | [16.6](16.6.md) | AspNetMvc header exposes version information | Low | Passive |
 | [200.1](200.1.md) | Exposure of sensitive information to an unauthorized actor (private IP address) | Low | Passive |
+| [359.1](359.1.md) | Exposure of Private Personal Information (PII) to an unauthorized actor (credit card) | Medium | Passive |
+| [359.2](359.2.md) | Exposure of Private Personal Information (PII) to an unauthorized actor (United States social security number) | Medium | Passive |
 | [548.1](548.1.md) | Exposure of information through directory listing | Low | Passive |
 | [598.1](598.1.md) | Use of GET request method with sensitive query strings (session ID) | Medium | Passive |
 | [598.2](598.2.md) | Use of GET request method with sensitive query strings (password) | Medium | Passive |
-- 
GitLab