Skip to content
Heist/ feed
Back to feed
Medium

Potential Captcha Validate Bypass in flask-session-captcha

Type: advisorySources: OSV

flask-session-captcha is a package which allows users to extend Flask by adding an image based captcha stored in a server side session. In versions prior to 1.2.1, he `captcha.validate()` function would return `None` if passed no value (e.g. by submitting an having an empty form). If implementing users were checking the return value to be **False**, the captcha verification check could be bypassed. Version 1.2.1 fixes the issue. Users can workaround the issue by not explicitly checking that the value is False. Checking the return value less explicitly should still work.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2022-24880
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 12:08 UTC · Revision 1

Source evidence

Potential Captcha Validate Bypass in flask-session-captcha

core-osv · Original source

Published 25 Apr 2022, 22:10 UTC

flask-session-captcha is a package which allows users to extend Flask by adding an image based captcha stored in a server side session. In versions prior to 1.2.1, he `captcha.validate()` function would return `None` if passed no value (e.g. by submitting an having an empty form). If implementing users were checking the return value to be **False**, the captcha verification check could be bypassed. Version 1.2.1 fixes the issue. Users can workaround the issue by not explicitly checking that the value is False. Checking the return value less explicitly should still work.

osv:CVE-2022-24880
Complete source record
{
  "id": "251a11823fc2141fe0a645f2faa374e37a4d4b0e00ee186ba551115feb473aae",
  "url": "https://osv.dev/vulnerability/CVE-2022-24880",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Potential Captcha Validate Bypass in flask-session-captcha",
    "summary": "flask-session-captcha is a package which allows users to extend Flask by adding an image based captcha stored in a server side session. In versions prior to 1.2.1, he `captcha.validate()` function would return `None` if passed no value (e.g. by submitting an having an empty form). If implementing users were checking the return value to be **False**, the captcha verification check could be bypassed. Version 1.2.1 fixes the issue. Users can workaround the issue by not explicitly checking that the value is False. Checking the return value less explicitly should still work.",
    "evidence": "osv:CVE-2022-24880",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2022-24880",
      "aliases": [
        "CVE-2022-24880",
        "GHSA-7r87-cj48-wj45",
        "PYSEC-2022-193"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/tethik/flask-session-captcha",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "18b74e77ce008a7c4b371ee37c03d8694b344968"
                },
                {
                  "fixed": "2811ae23a38d33b620fb7a07de8837c6d65c13e4"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:flask-session-captcha_project:flask-session-captcha:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.2.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "2811ae23a38d33b620fb7a07de8837c6d65c13e4"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "18b74e77ce008a7c4b371ee37c03d8694b344968"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.2.1"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-24880.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:50.734790290Z",
      "provider": "osv",
      "references": [
        "https://github.com/Tethik/flask-session-captcha/releases/tag/v1.2.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/24xxx/CVE-2022-24880.json",
        "https://github.com/Tethik/flask-session-captcha/security/advisories/GHSA-7r87-cj48-wj45",
        "https://nvd.nist.gov/vuln/detail/CVE-2022-24880",
        "https://github.com/Tethik/flask-session-captcha/commit/2811ae23a38d33b620fb7a07de8837c6d65c13e4",
        "https://github.com/Tethik/flask-session-captcha/pull/27"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-253",
          "CWE-394",
          "CWE-754"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/24xxx/CVE-2022-24880.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2022-24880",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 519238,
  "published_at": "2022-04-25T22:10:13+00:00"
}