{
  "containers": {
    "cna": {
      "affected": [
        {
          "product": "Apache MyFaces Core",
          "vendor": "Apache Software Foundation",
          "versions": [
            {
              "lessThan": "2.2.14",
              "status": "affected",
              "version": "Apache MyFaces Core 2.2",
              "versionType": "custom"
            },
            {
              "lessThan": "2.3.8",
              "status": "affected",
              "version": "Apache MyFaces Core 2.3",
              "versionType": "custom"
            },
            {
              "lessThan": "2.3-next-M5",
              "status": "affected",
              "version": "Apache MyFaces Core 2.3-next",
              "versionType": "custom"
            },
            {
              "lessThan": "3.0.0",
              "status": "affected",
              "version": "Apache MyFaces Core 3.0",
              "versionType": "custom"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "value": "Apache MyFaces would like to thank Wolfgang Ettlinger (Certitude Consulting GmbH)"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the default configuration, Apache MyFaces Core versions 2.2.0 to 2.2.13, 2.3.0 to 2.3.7, 2.3-next-M1 to 2.3-next-M4, and 3.0.0-RC1 use cryptographically weak implicit and explicit cross-site request forgery (CSRF) tokens. Due to that limitation, it is possible (although difficult) for an attacker to calculate a future CSRF token value and to use that value to trick a user into executing unwanted actions on an application."
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-352",
              "description": "CWE-352 Cross-Site Request Forgery (CSRF)",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "orgId": "Not found",
        "shortName": "Not found"
      },
      "references": [
        {
          "tags": [
            "x_refsource_CONFIRM"
          ],
          "url": "https://lists.apache.org/thread.html/r2b73e2356c6155e9ec78fdd8f72a4fac12f3e588014f5f535106ed9b%40%3Cannounce.apache.org%3E"
        }
      ],
      "source": {
        "defect": [
          "MYFACES-4373"
        ],
        "discovery": "UNKNOWN"
      },
      "title": "Cross-Site Request Forgery (CSRF) vulnerability in Apache MyFaces",
      "workarounds": [
        {
          "lang": "en",
          "value": "Existing web.xml configuration parameters can be used to direct MyFaces to use SecureRandom for CSRF token generation:\n\norg.apache.myfaces.RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN=secureRandom\norg.apache.myfaces.RANDOM_KEY_IN_CSRF_SESSION_TOKEN=secureRandom\norg.apache.myfaces.RANDOM_KEY_IN_WEBSOCKET_SESSION_TOKEN=secureRandom"
        }
      ],
      "x_ValidationErrors": [
        "$.cveMetadata.assignerOrgId -- validator = pattern",
        "$.containers.cna.providerMetadata.orgId -- validator = pattern"
      ],
      "x_generator": {
        "engine": "Vulnogram 0.0.9"
      },
      "x_legacyV4Record": {
        "CNA_private": {
          "CVE_list": [],
          "CVE_table_description": [],
          "email": "wtlucy@apache.org",
          "internal_comments": "",
          "owner": "myfaces",
          "publish": {
            "month": "",
            "year": "",
            "ym": ""
          },
          "share_with_CVE": true,
          "todo": []
        },
        "CVE_data_meta": {
          "AKA": "",
          "ASSIGNER": "security@apache.org",
          "DATE_PUBLIC": "",
          "ID": "CVE-2021-26296",
          "STATE": "PUBLIC",
          "TITLE": "Cross-Site Request Forgery (CSRF) vulnerability in Apache MyFaces"
        },
        "affects": {
          "vendor": {
            "vendor_data": [
              {
                "product": {
                  "product_data": [
                    {
                      "product_name": "Apache MyFaces Core",
                      "version": {
                        "version_data": [
                          {
                            "platform": "",
                            "version_affected": "<",
                            "version_name": "Apache MyFaces Core 2.2",
                            "version_value": "2.2.14"
                          },
                          {
                            "platform": "",
                            "version_affected": "<",
                            "version_name": "Apache MyFaces Core 2.3",
                            "version_value": "2.3.8"
                          },
                          {
                            "platform": "",
                            "version_affected": "<",
                            "version_name": "Apache MyFaces Core 2.3-next",
                            "version_value": "2.3-next-M5"
                          },
                          {
                            "platform": "",
                            "version_affected": "<",
                            "version_name": "Apache MyFaces Core 3.0",
                            "version_value": "3.0.0"
                          }
                        ]
                      }
                    }
                  ]
                },
                "vendor_name": "Apache Software Foundation"
              }
            ]
          }
        },
        "configuration": [],
        "credit": [
          {
            "lang": "eng",
            "value": "Apache MyFaces would like to thank Wolfgang Ettlinger (Certitude Consulting GmbH)"
          }
        ],
        "data_format": "MITRE",
        "data_type": "CVE",
        "data_version": "4.0",
        "description": {
          "description_data": [
            {
              "lang": "eng",
              "value": "In the default configuration, Apache MyFaces Core versions 2.2.0 to 2.2.13, 2.3.0 to 2.3.7, 2.3-next-M1 to 2.3-next-M4, and 3.0.0-RC1 use cryptographically weak implicit and explicit cross-site request forgery (CSRF) tokens. Due to that limitation, it is possible (although difficult) for an attacker to calculate a future CSRF token value and to use that value to trick a user into executing unwanted actions on an application."
            }
          ]
        },
        "exploit": [],
        "generator": {
          "engine": "Vulnogram 0.0.9"
        },
        "impact": {},
        "problemtype": {
          "problemtype_data": [
            {
              "description": [
                {
                  "lang": "eng",
                  "value": "CWE-352 Cross-Site Request Forgery (CSRF)"
                }
              ]
            }
          ]
        },
        "references": {
          "reference_data": [
            {
              "name": "",
              "refsource": "CONFIRM",
              "url": "https://lists.apache.org/thread.html/r2b73e2356c6155e9ec78fdd8f72a4fac12f3e588014f5f535106ed9b%40%3Cannounce.apache.org%3E"
            }
          ]
        },
        "solution": [],
        "source": {
          "advisory": "",
          "defect": [
            "MYFACES-4373"
          ],
          "discovery": "UNKNOWN"
        },
        "work_around": [
          {
            "lang": "en",
            "value": "Existing web.xml configuration parameters can be used to direct MyFaces to use SecureRandom for CSRF token generation:\n\norg.apache.myfaces.RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN=secureRandom\norg.apache.myfaces.RANDOM_KEY_IN_CSRF_SESSION_TOKEN=secureRandom\norg.apache.myfaces.RANDOM_KEY_IN_WEBSOCKET_SESSION_TOKEN=secureRandom"
          }
        ]
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "Not found",
    "assignerShortName": "Not found",
    "cveId": "CVE-2021-26296",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.0"
}