Security advisory
Python oic is a Python OpenID Connect implementation. In Python oic before version 1.2.1, there are several related cryptographic issues affecting client implementations that use the library. The issues are: 1) The IdToken signature algorithm was not checked automatically, but only if the expected algorithm was passed in as a kwarg. 2) JWA `none` algorithm was allowed in all flows. 3) oic.consumer.Consumer.parse_authz returns an unverified IdToken. The verification of the token was left to the discretion of the implementator. 4) iat claim was not checked for sanity (i.e. it could be in the future). These issues are patched in version 1.2.1.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2020-26244
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 11:08 UTC · Revision 1
Source evidence
Python oic is a Python OpenID Connect implementation. In Python oic before version 1.2.1, there are several related cryptographic issues affecting client implementations that use the library. The issues are: 1) The IdToken signature algorithm was not checked automatically, but only if the expected algorithm was passed in as a kwarg. 2) JWA `none` algorithm was allowed in all flows. 3) oic.consumer.Consumer.parse_authz returns an unverified IdToken. The verification of the token was left to the discretion of the implementator. 4) iat claim was not checked for sanity (i.e. it could be in the future). These issues are patched in version 1.2.1.
osv:CVE-2020-26244
Complete source record
{
"id": "d359fd263fdedec695da8b4dd75ac20989c6dd955eba18f405e05be0d6489618",
"url": "https://osv.dev/vulnerability/CVE-2020-26244",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2020-26244",
"summary": "Python oic is a Python OpenID Connect implementation. In Python oic before version 1.2.1, there are several related cryptographic issues affecting client implementations that use the library. The issues are: 1) The IdToken signature algorithm was not checked automatically, but only if the expected algorithm was passed in as a kwarg. 2) JWA `none` algorithm was allowed in all flows. 3) oic.consumer.Consumer.parse_authz returns an unverified IdToken. The verification of the token was left to the discretion of the implementator. 4) iat claim was not checked for sanity (i.e. it could be in the future). These issues are patched in version 1.2.1.",
"evidence": "osv:CVE-2020-26244",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2020-26244",
"aliases": [
"CVE-2020-26244",
"GHSA-4fjv-pmhg-3rfg",
"PYSEC-2020-69"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/CZ-NIC/pyoidc",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "0bf07d010e224247b6dc7bceb3c04aa328ed263e"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:python_openid_connect_project:python_openid_connect:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "1.2.1"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"1.2.0",
"v1.1.2",
"v1.1.1",
"v1.1.0",
"v1.0.0",
"v0.15.0",
"v0.14.0",
"v0.13.0",
"v0.12.0",
"v0.11.1",
"v0.11.0",
"v0.10.0",
"v0.9.5",
"v0.9.4",
"v0.9.1",
"v0.9.0",
"0.7.8",
"v0.8.5",
"0.7.7",
"v0.7.6",
"0.7.0",
"v0.6.0",
"0.5.0",
"0.4"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-26244.json"
}
},
{
"ranges": [
{
"repo": "https://github.com/cz-nic/pyoidc",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "62f8d753fa17c8b1f29f8be639cf0b33afb02498"
},
{
"fixed": "0bf07d010e224247b6dc7bceb3c04aa328ed263e"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"fixed": "62f8d753fa17c8b1f29f8be639cf0b33afb02498"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "0bf07d010e224247b6dc7bceb3c04aa328ed263e"
}
],
"source": "REFERENCES_TAG",
"original_tag": "1.2.1"
}
]
}
}
],
"versions": [
"1.2.0",
"v1.1.2",
"v1.1.1",
"v1.1.0",
"v1.0.0",
"v0.15.0",
"v0.14.0",
"v0.13.0",
"v0.12.0",
"v0.11.1",
"v0.11.0",
"v0.10.0",
"v0.9.5",
"v0.9.4",
"v0.9.1",
"v0.9.0",
"0.7.8",
"v0.8.5",
"0.7.7",
"v0.7.6",
"0.7.0",
"v0.6.0",
"0.5.0",
"0.4"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-26244.json"
}
}
],
"modified": "2026-10-20T10:52:56.449413145Z",
"provider": "osv",
"references": [
"https://github.com/OpenIDC/pyoidc/releases/tag/1.2.1",
"https://github.com/OpenIDC/pyoidc/security/advisories/GHSA-4fjv-pmhg-3rfg",
"https://github.com/OpenIDC/pyoidc/commit/62f8d753fa17c8b1f29f8be639cf0b33afb02498",
"https://pypi.org/project/oic/"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2020-26244",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 384062,
"published_at": "2020-12-02T20:15:13.43+00:00"
}