CWE-480
AllowedUse of Incorrect Operator
Abstraction: Base · Status: Draft
The product accidentally uses the wrong operator, which changes the logic in security-relevant ways.
14 vulnerabilities reference this CWE, most recent first.
GHSA-C7MR-H37W-H53J
Vulnerability from github – Published: 2025-07-11 18:30 – Updated: 2025-07-11 18:30A Use of Incorrect Operator
vulnerability in the Routing Engine firewall of Juniper Networks Junos OS Evolved allows an unauthenticated, network-based attacker to bypass security restrictions.
When a firewall filter which is applied to the lo0 or re:mgmt interface references a prefix list with 'from prefix-list', and that prefix list contains more than 10 entries, the prefix list doesn't match and packets destined to or from the local device are not filtered.
This issue affects firewall filters applied to the re:mgmt interfaces as input and output, but only affects firewall filters applied to the lo0 interface as output. This issue is applicable to IPv4 and IPv6 as a prefix list can contain IPv4 and IPv6 prefixes. This issue affects Junos OS Evolved:
- 23.2R2-S3-EVO versions before 23.2R2-S4-EVO,
- 23.4R2-S3-EVO versions before 23.4R2-S5-EVO,
- 24.2R2-EVO versions before 24.2R2-S1-EVO,
- 24.4-EVO versions before 24.4R1-S3-EVO, 24.4R2-EVO.
This issue doesn't not affect Junos OS Evolved versions before 23.2R1-EVO.
{
"affected": [],
"aliases": [
"CVE-2025-52985"
],
"database_specific": {
"cwe_ids": [
"CWE-480"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-07-11T16:15:25Z",
"severity": "MODERATE"
},
"details": "A Use of Incorrect Operator\n\nvulnerability in the Routing Engine firewall of Juniper Networks Junos OS Evolved allows an unauthenticated, network-based attacker to bypass security restrictions.\n\nWhen a firewall filter which is applied to the lo0 or re:mgmt interface references a prefix list with \u0027from prefix-list\u0027, and that prefix list contains more than 10 entries, the prefix list doesn\u0027t match and packets destined to or from the local device are not filtered.\n\n\nThis issue affects firewall filters applied to the re:mgmt interfaces as input and output, but only affects firewall filters applied to the lo0 interface as output.\nThis issue is applicable to IPv4 and IPv6 as a prefix list can contain IPv4 and IPv6 prefixes.\nThis issue affects Junos OS Evolved:\n\n * 23.2R2-S3-EVO versions before 23.2R2-S4-EVO,\n * 23.4R2-S3-EVO versions before 23.4R2-S5-EVO,\n * 24.2R2-EVO versions before 24.2R2-S1-EVO,\n * 24.4-EVO versions before 24.4R1-S3-EVO, 24.4R2-EVO.\n\n\nThis issue doesn\u0027t not affect Junos OS Evolved versions before 23.2R1-EVO.",
"id": "GHSA-c7mr-h37w-h53j",
"modified": "2025-07-11T18:30:33Z",
"published": "2025-07-11T18:30:33Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-52985"
},
{
"type": "WEB",
"url": "https://supportportal.juniper.net/JSA100091"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"type": "CVSS_V4"
}
]
}
GHSA-CMC7-MFMR-XQRX
Vulnerability from github – Published: 2021-04-07 21:01 – Updated: 2024-10-21 21:02before_upstream_connection in AuthPlugin in http/proxy/auth.py in proxy.py before 2.3.1 accepts incorrect Proxy-Authorization header data because of a boolean confusion (and versus or).
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "proxy.py"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.3.1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2021-3116"
],
"database_specific": {
"cwe_ids": [
"CWE-287",
"CWE-480",
"CWE-697"
],
"github_reviewed": true,
"github_reviewed_at": "2021-04-06T21:58:49Z",
"nvd_published_at": "2021-01-11T05:15:00Z",
"severity": "HIGH"
},
"details": "before_upstream_connection in AuthPlugin in http/proxy/auth.py in proxy.py before 2.3.1 accepts incorrect Proxy-Authorization header data because of a boolean confusion (and versus or).",
"id": "GHSA-cmc7-mfmr-xqrx",
"modified": "2024-10-21T21:02:47Z",
"published": "2021-04-07T21:01:25Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-3116"
},
{
"type": "WEB",
"url": "https://github.com/abhinavsingh/proxy.py/pull/482"
},
{
"type": "WEB",
"url": "https://github.com/abhinavsingh/proxy.py/pull/482/commits/9b00093288237f5073c403f2c4f62acfdfa8ed46"
},
{
"type": "WEB",
"url": "https://github.com/abhinavsingh/proxy.py/commit/bff171ec26d826ae1d22d2466eaf9d8bdbf059d3"
},
{
"type": "WEB",
"url": "https://cardaci.xyz/advisories/2021/01/10/proxy.py-2.3.0-broken-basic-authentication"
},
{
"type": "PACKAGE",
"url": "https://github.com/abhinavsingh/proxy.py"
},
{
"type": "ADVISORY",
"url": "https://github.com/advisories/GHSA-cmc7-mfmr-xqrx"
},
{
"type": "WEB",
"url": "https://github.com/pypa/advisory-database/tree/main/vulns/proxy-py/PYSEC-2021-46.yaml"
},
{
"type": "WEB",
"url": "https://pypi.org/project/proxy.py/2.3.1/#history"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "Logic error in authentication in proxy.py"
}
GHSA-CQMQ-8755-7XVH
Vulnerability from github – Published: 2026-08-21 20:55 – Updated: 2026-08-21 20:55Summary
The value of graphql.maxTake can be bypassed by providing a negative input.
This can be used to exceed the developer's intended graphql.maxTake value, allowing queries to return results in excess of the graphql.maxTake value set.
Impact
This affects any project relying on graphql.maxTake to bound the number of items returned per query.
Patches
This issue has been patched in @keystone-6/core version 6.5.3.
If you cannot patch, you can workaround this by restricting take input values in your GraphQL queries to the bounded value, or by blocking negative values.
Credit
This issue was found by Haxset's Security Scanner and validated by their team.
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 6.5.2"
},
"package": {
"ecosystem": "npm",
"name": "@keystone-6/core"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "6.5.3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-63421"
],
"database_specific": {
"cwe_ids": [
"CWE-20",
"CWE-480"
],
"github_reviewed": true,
"github_reviewed_at": "2026-08-21T20:55:11Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"details": "# Summary\nThe value of `graphql.maxTake` can be bypassed by providing a negative input.\nThis can be used to exceed the developer\u0027s intended `graphql.maxTake` value, allowing queries to return results in excess of the `graphql.maxTake` value set.\n\n# Impact\nThis affects any project relying on `graphql.maxTake` to bound the number of items returned per query.\n\n# Patches\nThis issue has been patched in `@keystone-6/core` version `6.5.3`.\n\nIf you cannot patch, you can workaround this by restricting `take` input values in your GraphQL queries to the bounded value, or by blocking negative values.\n\n# Credit\nThis issue was found by [Haxset\u0027s](https://haxset.com) Security Scanner and validated by their team.",
"id": "GHSA-cqmq-8755-7xvh",
"modified": "2026-08-21T20:55:11Z",
"published": "2026-08-21T20:55:11Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/keystonejs/keystone/security/advisories/GHSA-cqmq-8755-7xvh"
},
{
"type": "WEB",
"url": "https://github.com/keystonejs/keystone/pull/9859"
},
{
"type": "WEB",
"url": "https://github.com/keystonejs/keystone/commit/9fb88b246950ce4de754a43fe6416f20403577b1"
},
{
"type": "PACKAGE",
"url": "https://github.com/keystonejs/keystone"
},
{
"type": "WEB",
"url": "https://github.com/keystonejs/keystone/releases/tag/@keystone-6/core@6.5.3"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
],
"summary": "Keystone vulnerable to `graphql.maxTake` bypass with negative `take`"
}
GHSA-CRQM-M339-7M2P
Vulnerability from github – Published: 2026-05-14 16:17 – Updated: 2026-05-14 16:17Impact
A Python operator precedence bug in pyzipper/zipfile_aes.py caused the AE-2 format to never be automatically selected during encryption, regardless of file size or compression type. As a result, all encrypted entries are written in AE-1 format unless AE-2 is explicitly forced by the caller. AE-1 stores the plaintext CRC32 checksum unencrypted in the ZIP header. During investigation of this issue, it was also found that when writing to an unseekable zip archive, the CRC32 value was always written to the datadescripter section.
The AES encryption itself is not broken. An attacker who possesses the archive can read the CRC32 from the header without decrypting anything, then brute-force candidate plaintexts by computing CRC32(candidate) and comparing against the stored value. In practice, this attack is feasible today only against small or low-entropy files, as CRC32 exhaustion across a large plaintext space is computationally prohibitive on current hardware. Files with high-entropy or large content are not practically at risk under current computing constraints. Without this bug, pyzipper would have removed the CRC32 value for any file with content of less than 20 bytes uncompressed.
Patches
Upgrade to pyzipper 0.4.0 that changes the default behaviour of pyzipper to always use the AE-2 format and exclude the CRC32 values, unless instructed to do otherwise.
If rewriting the zip archive to remove the CRC values for small files, the entire zip archive should be recreated to avoid the original local file header with the CRC included remaining in the zip file in a detached state.
Credit
Thanks to Lucas Lavarello from Kulkan Security for identifying this issue.
References
https://www.winzip.com/en/support/aes-encryption/#CRC https://www.winzip.com/en/support/aes-encryption/#crc-faq
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "pyzipper"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.4.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-44722"
],
"database_specific": {
"cwe_ids": [
"CWE-480"
],
"github_reviewed": true,
"github_reviewed_at": "2026-05-14T16:17:01Z",
"nvd_published_at": null,
"severity": "MODERATE"
},
"details": "### Impact\nA Python operator precedence bug in pyzipper/zipfile_aes.py caused the AE-2 format to never be automatically selected during encryption, regardless of file size or compression type. As a result, all encrypted entries are written in AE-1 format unless AE-2 is explicitly forced by the caller. AE-1 stores the plaintext CRC32 checksum unencrypted in the ZIP header. During investigation of this issue, it was also found that when writing to an unseekable zip archive, the CRC32 value was always written to the datadescripter section.\n\nThe AES encryption itself is not broken. An attacker who possesses the archive can read the CRC32 from the header without decrypting anything, then brute-force candidate plaintexts by computing CRC32(candidate) and comparing against the stored value. In practice, this attack is feasible today only against small or low-entropy files, as CRC32 exhaustion across a large plaintext space is computationally prohibitive on current hardware. Files with high-entropy or large content are not practically at risk under current computing constraints. Without this bug, pyzipper would have removed the CRC32 value for any file with content of less than 20 bytes uncompressed.\n\n### Patches\nUpgrade to pyzipper 0.4.0 that changes the default behaviour of pyzipper to always use the AE-2 format and exclude the CRC32 values, unless instructed to do otherwise.\n\nIf rewriting the zip archive to remove the CRC values for small files, the entire zip archive should be recreated to avoid the original local file header with the CRC included remaining in the zip file in a detached state.\n\n## Credit\nThanks to Lucas Lavarello from Kulkan Security for identifying this issue.\n\n### References\nhttps://www.winzip.com/en/support/aes-encryption/#CRC\nhttps://www.winzip.com/en/support/aes-encryption/#crc-faq",
"id": "GHSA-crqm-m339-7m2p",
"modified": "2026-05-14T16:17:01Z",
"published": "2026-05-14T16:17:01Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/danifus/pyzipper/security/advisories/GHSA-crqm-m339-7m2p"
},
{
"type": "PACKAGE",
"url": "https://github.com/danifus/pyzipper"
},
{
"type": "WEB",
"url": "https://github.com/danifus/pyzipper/releases/tag/v0.4.0"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
],
"summary": "pyzipper has an encryption bypass for small files encrypted using it"
}
No mitigation information available for this CWE.
No CAPEC attack patterns related to this CWE.