Description
calibreweb prior to version 0.6.16 contains a Server-Side Request Forgery (SSRF) vulnerability.
Affected Software
Related
{"id": "OSV:GHSA-4W8P-X6G8-FV64", "vendorId": null, "type": "osv", "bulletinFamily": "software", "title": "Server-Side Request Forgery in calibreweb", "description": "calibreweb prior to version 0.6.16 contains a Server-Side Request Forgery (SSRF) vulnerability.", "published": "2022-02-01T00:48:54", "modified": "2023-04-11T01:35:28", "cvss": {"score": 7.5, "vector": "AV:N/AC:L/Au:N/C:P/I:P/A:P"}, "cvss2": {"cvssV2": {"version": "2.0", "vectorString": "AV:N/AC:L/Au:N/C:P/I:P/A:P", "accessVector": "NETWORK", "accessComplexity": "LOW", "authentication": "NONE", "confidentialityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "baseScore": 7.5}, "severity": "HIGH", "exploitabilityScore": 10.0, "impactScore": 6.4, "acInsufInfo": false, "obtainAllPrivilege": false, "obtainUserPrivilege": false, "obtainOtherPrivilege": false, "userInteractionRequired": false}, "cvss3": {"cvssV3": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH", "baseScore": 9.8, "baseSeverity": "CRITICAL"}, "exploitabilityScore": 3.9, "impactScore": 5.9}, "href": "https://osv.dev/vulnerability/GHSA-4w8p-x6g8-fv64", "reporter": "Google", "references": ["https://nvd.nist.gov/vuln/detail/CVE-2022-0339", "https://github.com/janeczku/calibre-web/commit/35f6f4c727c887f8f3607fe3233dbc1980d15020", "https://github.com/janeczku/calibre-web/commit/3b216bfa07ec7992eff03e55d61732af6df9bb92", "https://github.com/janeczku/calibre-web", "https://github.com/janeczku/calibre-web/releases/tag/0.6.16", "https://huntr.dev/bounties/499688c4-6ac4-4047-a868-7922c3eab369"], "cvelist": ["CVE-2022-0339"], "immutableFields": [], "lastseen": "2023-04-11T01:35:32", "viewCount": 6, "enchantments": {"affected_software": {"major_version": [{"name": "calibreweb", "version": 0}, {"name": "calibreweb", "version": 0}, {"name": "calibreweb", "version": 0}, {"name": "calibreweb", "version": 0}]}, "backreferences": {"references": [{"idList": ["CVE-2022-0339"], "type": "cve"}, {"idList": ["GHSA-4W8P-X6G8-FV64"], "type": "github"}]}, "dependencies": {"references": [{"idList": ["OSV:PYSEC-2022-23", "OSV:GHSA-2647-C639-QV2J"], "type": "osv"}, {"idList": ["CVE-2022-0339"], "type": "cve"}, {"idList": ["VERACODE:33972"], "type": "veracode"}, {"idList": ["GHSA-4W8P-X6G8-FV64", "GHSA-2647-C639-QV2J"], "type": "github"}, {"idList": ["499688C4-6AC4-4047-A868-7922C3EAB369"], "type": "huntr"}]}, "score": {"value": 4.6, "vector": "NONE"}, "epss": [{"cve": "CVE-2022-0339", "epss": 0.00157, "percentile": 0.50554, "modified": "2023-04-10"}], "vulnersScore": 4.6}, "_state": {"dependencies": 1681177028, "score": 1684016453, "affected_software_major_version": 0, "epss": 1681177239}, "_internal": {"score_hash": "e3e81f30a840f8e3b2c7b7957ae59bbb"}, "affectedSoftware": [{"version": "0.6.12", "operator": "eq", "name": "calibreweb"}, {"version": "0.6.13", "operator": "eq", "name": "calibreweb"}, {"version": "0.6.14", "operator": "eq", "name": "calibreweb"}, {"version": "0.6.15", "operator": "eq", "name": "calibreweb"}]}
{"huntr": [{"lastseen": "2023-06-19T17:10:28", "description": "# Title\nBlind SSRF via URL fetch\n\n# Summary\n`calibre-web` allows external URL fetching in order to upload a book cover. However, instead of external URL it is possible to point to localhost, which will be reached resulting in blind SSRF.\n\n # Steps to reproduce\n1. 1\\. As an admin give permissions to upload files and edit books to any staff.\n2. 2\\. As an admin run any server on localhost to see the SSRF.\n3. 3\\. As a malicious staff go to books section -> select any book -> edit metadata -> in the `Fetch Cover from URL` field specify the address of service that you ran as an admin -> save the book.\n4. 4\\. As an admin observe that service on localhost was reached.\n\n# PoC:\nAs a service for PoC I used python simple server - `python -m http.server 1234`.\nAlso you may tunnel `calibre-web` server using `ngrok` - `ngrok http 1234` - to prove that it is exploitable in real environment (I already did, just wanted to make video PoC as short as possible).\n[Video PoC](https://www.youtube.com/watch?v=qU3IJme84Mg)\n\n# Impact\nThis vulnerability is capable of port scanning and even may execute some actions on victim's side in case there are sensitive services on localhost.", "cvss3": {"exploitabilityScore": 3.9, "cvssV3": {"baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "baseScore": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 5.9}, "published": "2021-12-20T11:47:34", "type": "huntr", "title": "Server-Side Request Forgery (SSRF) in janeczku/calibre-web", "bulletinFamily": "bugbounty", "cvss2": {"severity": "HIGH", "exploitabilityScore": 10.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 7.5, "vectorString": "AV:N/AC:L/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "impactScore": 6.4, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2022-0339"], "modified": "2022-01-22T16:12:37", "id": "499688C4-6AC4-4047-A868-7922C3EAB369", "href": "https://www.huntr.dev/bounties/499688c4-6ac4-4047-a868-7922c3eab369/", "cvss": {"score": 7.5, "vector": "AV:N/AC:L/Au:N/C:P/I:P/A:P"}}], "prion": [{"lastseen": "2023-08-15T15:14:35", "description": "Server-Side Request Forgery (SSRF) in Pypi calibreweb prior to 0.6.16.", "cvss3": {"exploitabilityScore": 3.9, "cvssV3": {"baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "baseScore": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 5.9}, "published": "2022-01-30T14:15:00", "type": "prion", "title": "Server-Side Request Forgery (SSRF) in janeczku/calibre-web", "bulletinFamily": "NVD", "cvss2": {"severity": "HIGH", "exploitabilityScore": 10.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 7.5, "vectorString": "AV:N/AC:L/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "impactScore": 6.4, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2022-0339"], "modified": "2022-03-17T16:16:00", "id": "PRION:CVE-2022-0339", "href": "https://kb.prio-n.com/vulnerability/CVE-2022-0339", "cvss": {"score": 7.5, "vector": "AV:N/AC:L/Au:N/C:P/I:P/A:P"}}], "github": [{"lastseen": "2023-06-19T14:56:28", "description": "calibreweb prior to version 0.6.16 contains a Server-Side Request Forgery (SSRF) vulnerability.", "cvss3": {"exploitabilityScore": 3.9, "cvssV3": {"baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "baseScore": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 5.9}, "published": "2022-02-01T00:48:54", "type": "github", "title": "Server-Side Request Forgery in calibreweb", "bulletinFamily": "software", "cvss2": {"severity": "HIGH", "exploitabilityScore": 10.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 7.5, "vectorString": "AV:N/AC:L/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "impactScore": 6.4, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2022-0339"], "modified": "2023-02-03T05:05:34", "id": "GHSA-4W8P-X6G8-FV64", "href": "https://github.com/advisories/GHSA-4w8p-x6g8-fv64", "cvss": {"score": 7.5, "vector": "AV:N/AC:L/Au:N/C:P/I:P/A:P"}}, {"lastseen": "2023-08-24T03:47:25", "description": "calibreweb prior to version 0.6.17 is vulnerable to server-side request forgery (SSRF). This is due to an incomplete fix for [CVE-2022-0339](https://github.com/advisories/GHSA-4w8p-x6g8-fv64). The blacklist does not check for `0.0.0.0`, which would result in a payload of `0.0.0.0` resolving to `localhost`.", "cvss3": {"exploitabilityScore": 3.9, "cvssV3": {"baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "baseScore": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 5.9}, "published": "2022-03-08T00:00:31", "type": "github", "title": "Server-Side Request Forgery in calibreweb", "bulletinFamily": "software", "cvss2": {"severity": "HIGH", "exploitabilityScore": 10.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 7.5, "vectorString": "AV:N/AC:L/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "impactScore": 6.4, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2022-0339", "CVE-2022-0766"], "modified": "2023-08-24T00:01:24", "id": "GHSA-2647-C639-QV2J", "href": "https://github.com/advisories/GHSA-2647-c639-qv2j", "cvss": {"score": 7.5, "vector": "AV:N/AC:L/Au:N/C:P/I:P/A:P"}}], "veracode": [{"lastseen": "2023-04-18T05:57:33", "description": "calibreweb is vulnerable to server-side request forgery. The vulnerability exists in `_delete_user` function of `admin.py` due to lack of validation which allows an attacker to fetch localhost URL and upload a book cover.\n", "cvss3": {"exploitabilityScore": 3.9, "cvssV3": {"baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "baseScore": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 5.9}, "published": "2022-01-31T21:39:17", "type": "veracode", "title": "Server-Side Request Forgery (SSRF)", "bulletinFamily": "software", "cvss2": {"severity": "HIGH", "exploitabilityScore": 10.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 7.5, "vectorString": "AV:N/AC:L/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "impactScore": 6.4, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2022-0339"], "modified": "2022-03-17T18:58:54", "id": "VERACODE:33972", "href": "https://sca.analysiscenter.veracode.com/vulnerability-database/security/1/1/sid-33972/summary", "cvss": {"score": 7.5, "vector": "AV:N/AC:L/Au:N/C:P/I:P/A:P"}}], "osv": [{"lastseen": "2022-05-11T21:07:52", "description": "Server-Side Request Forgery (SSRF) in Pypi calibreweb prior to 0.6.16.", "cvss3": {"exploitabilityScore": 3.9, "cvssV3": {"baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "baseScore": 9.8, "privilegesRequired": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "userInteraction": "NONE", "version": "3.1"}, "impactScore": 5.9}, "published": "2022-01-30T14:15:00", "type": "osv", "title": "PYSEC-2022-23", "bulletinFamily": "software", "cvss2": {"severity": "HIGH", "exploitabilityScore": 10.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 7.5, "vectorString": "AV:N/AC:L/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "acInsufInfo": false, "impactScore": 6.4, "obtainUserPrivilege": false}, "cvelist": ["CVE-2022-0339"], "modified": "2022-02-04T19:19:26", "id": "OSV:PYSEC-2022-23", "href": "https://osv.dev/vulnerability/PYSEC-2022-23", "cvss": {"score": 7.5, "vector": "AV:N/AC:L/Au:N/C:P/I:P/A:P"}}, {"lastseen": "2023-04-11T01:42:49", "description": "calibreweb prior to version 0.6.17 is vulnerable to server-side request forgery (SSRF). This is due to an incomplete fix for [CVE-2022-0339](https://github.com/advisories/GHSA-4w8p-x6g8-fv64). The blacklist does not check for `0.0.0.0`, which would result in a payload of `0.0.0.0` resolving to `localhost`.", "cvss3": {"exploitabilityScore": 3.9, "cvssV3": {"baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "baseScore": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 5.9}, "published": "2022-03-08T00:00:31", "type": "osv", "title": "Server-Side Request Forgery in calibreweb", "bulletinFamily": "software", "cvss2": {"severity": "HIGH", "exploitabilityScore": 10.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 7.5, "vectorString": "AV:N/AC:L/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "impactScore": 6.4, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2022-0339", "CVE-2022-0766"], "modified": "2023-04-11T01:42:45", "id": "OSV:GHSA-2647-C639-QV2J", "href": "https://osv.dev/vulnerability/GHSA-2647-c639-qv2j", "cvss": {"score": 7.5, "vector": "AV:N/AC:L/Au:N/C:P/I:P/A:P"}}], "cve": [{"lastseen": "2023-06-19T14:29:22", "description": "Server-Side Request Forgery (SSRF) in Pypi calibreweb prior to 0.6.16.", "cvss3": {"exploitabilityScore": 3.9, "cvssV3": {"baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "baseScore": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 5.9}, "published": "2022-01-30T14:15:00", "type": "cve", "title": "CVE-2022-0339", "cwe": ["CWE-918"], "bulletinFamily": "NVD", "cvss2": {"severity": "HIGH", "exploitabilityScore": 10.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 7.5, "vectorString": "AV:N/AC:L/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "impactScore": 6.4, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2022-0339"], "modified": "2022-03-17T16:16:00", "cpe": [], "id": "CVE-2022-0339", "href": "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2022-0339", "cvss": {"score": 7.5, "vector": "AV:N/AC:L/Au:N/C:P/I:P/A:P"}, "cpe23": []}]}