Skip to content
Heist/ feed
Back to feed
High

Security advisory

Type: advisorySources: OSVCVE: CVE-2021-31590

PwnDoc all versions until 0.4.0 (2021-08-23) has incorrect JSON Webtoken handling, leading to incorrect access control. With a valid JSON Webtoken that is used for authentication and authorization, a user can keep his admin privileges even if he is downgraded to the "user" privilege. Even after a user's account is deleted, the user can still access the administration panel (and add or delete users) and has complete access to the system.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2021-31590
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 11:45 UTC · Revision 1

Source evidence

CVE-2021-31590

core-osv · Original source

Published 19 Jul 2021, 20:15 UTC

PwnDoc all versions until 0.4.0 (2021-08-23) has incorrect JSON Webtoken handling, leading to incorrect access control. With a valid JSON Webtoken that is used for authentication and authorization, a user can keep his admin privileges even if he is downgraded to the "user" privilege. Even after a user's account is deleted, the user can still access the administration panel (and add or delete users) and has complete access to the system.

osv:CVE-2021-31590
Complete source record
{
  "id": "7091f5f51ac9db9ef61456399fea662bde0b70376c960e806a5bb94bf4ec0b23",
  "url": "https://osv.dev/vulnerability/CVE-2021-31590",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2021-31590",
    "summary": "PwnDoc all versions until 0.4.0 (2021-08-23) has incorrect JSON Webtoken handling, leading to incorrect access control. With a valid JSON Webtoken that is used for authentication and authorization, a user can keep his admin privileges even if he is downgraded to the \"user\" privilege. Even after a user's account is deleted, the user can still access the administration panel (and add or delete users) and has complete access to the system.",
    "evidence": "osv:CVE-2021-31590",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2021-31590",
      "aliases": [
        "CVE-2021-31590"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/pwndoc/pwndoc",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "59519735b0d831d8fd96d7c3387f66d28407e583"
                },
                {
                  "fixed": "15f3dc0e212eda465e05fda0feb002d1bce2939d"
                },
                {
                  "fixed": "ff1b868cec55f5b6c7a91e15a2b0b1f4324121ab"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:pwndoc_project:pwndoc:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.4.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "15f3dc0e212eda465e05fda0feb002d1bce2939d"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "ff1b868cec55f5b6c7a91e15a2b0b1f4324121ab"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.3.0",
            "v0.2.0",
            "v0.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-31590.json"
          }
        }
      ],
      "modified": "2026-10-20T10:54:40.815016083Z",
      "provider": "osv",
      "references": [
        "https://github.com/pwndoc/pwndoc/security/advisories",
        "https://github.com/pwndoc/pwndoc/blob/59519735b0d831d8fd96d7c3387f66d28407e583/CHANGELOG.md#040-2021-08-23",
        "https://github.com/pwndoc/pwndoc/commit/15f3dc0e212eda465e05fda0feb002d1bce2939d",
        "https://github.com/pwndoc/pwndoc/commit/ff1b868cec55f5b6c7a91e15a2b0b1f4324121ab",
        "https://github.com/pwndoc/pwndoc/pull/128",
        "https://github.com/pwndoc/pwndoc/pull/74",
        "https://www.dgc.org/responsible_disclosure_pwndoc_jwt"
      ],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2021-31590",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 385874,
  "published_at": "2021-07-19T20:15:08.66+00:00"
}