{"id":"CVE-2026-34244","aliases":["EUVD-2026-23004","GHSA-xrwr-fcw6-fmq8","PYSEC-2026-2314"],"status":"published","title":"Weblate: SSRF via Project-Level Machinery Configuration","description":"Weblate is a web based localization tool. In versions prior to 5.17, a user with the project.edit permission (granted by the per-project \"Administration\" role) can configure machine translation service URLs pointing to arbitrary internal network addresses. During configuration validation, Weblate makes an HTTP request to the attacker-controlled URL and reflects up to 200 characters of the response body back to the user in an error message. This constitutes a Server-Side Request Forgery (SSRF) with partial response read. This issue has been fixed in version 5.17. If developers are unable to immediately upgrade, they can limit available machinery services via WEBLATE_MACHINERY setting.","severity":{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00254,"percentile":0.1708,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-200","CWE-918"],"published":"2026-04-15T18:22:42Z","modified":"2026-10-28T02:31:10Z","fixes":[{"ecosystem":"PyPI","package":"weblate","fixed_in":["5.17"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"weblate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.17"}]}]},{"source":"osv","ecosystem":"PyPI","package":"weblate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.17"}]}],"versions":["1.9","2.0","2.1","2.10","2.10.1","2.11","2.12","2.13","2.13.1","2.14","2.14.1","2.15","2.16","2.17","2.17.1","2.18","2.19","2.19.1","2.2","2.20","2.3","2.4","2.5","2.6","2.7","2.8","2.9","3.0","3.0.1","3.1","3.1.1","3.10","3.10.1","3.10.2","3.10.3","3.11","3.11.1","3.11.2","3.11.3","3.2","3.2.1","3.2.2","3.3","3.4","3.5","3.5.1","3.6","3.6.1","3.7","3.7.1","3.8","3.9","3.9.1","4.0","4.0.1","4.0.2","4.0.3","4.0.4","4.1","4.1.1","4.10","4.10.1","4.11","4.11.1","4.11.2","4.12","4.12.1","4.12.2","4.13","4.13.1","4.14","4.14.1","4.14.2","4.15","4.15.1","4.15.2","4.16","4.16.1","4.16.2","4.16.3","4.16.4","4.17","4.18","4.18.1","4.18.2","4.2","4.2.1","4.2.2","4.3","4.3.1","4.3.2","4.4","4.4.1","4.4.2","4.5","4.5.1","4.5.2","4.5.3","4.6","4.6.1","4.6.2","4.7","4.7.1","4.7.2","4.8","4.8.1","4.9","4.9.1","5.0","5.0.1","5.0.2","5.1","5.1.1","5.10","5.10.1","5.10.2","5.10.3","5.10.4","5.11","5.11.1","5.11.3","5.11.4","5.12.1","5.12.2","5.13","5.13.1","5.13.2","5.13.3","5.14","5.14.1","5.14.2","5.14.3","5.15","5.15.1","5.15.2","5.16","5.16.1","5.16.2","5.2","5.2.1","5.3","5.3.1","5.4","5.4.1","5.4.2","5.4.3","5.5","5.5.2","5.5.3","5.5.4","5.5.5","5.6","5.6.1","5.6.2","5.7","5.7.1","5.7.2","5.8.1","5.8.2","5.8.3","5.8.4","5.9.1","5.9.2"]},{"source":"osv","ecosystem":"PyPI","package":"weblate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.17"}]}],"versions":["1.9","2.0","2.1","2.10","2.10.1","2.11","2.12","2.13","2.13.1","2.14","2.14.1","2.15","2.16","2.17","2.17.1","2.18","2.19","2.19.1","2.2","2.20","2.3","2.4","2.5","2.6","2.7","2.8","2.9","3.0","3.0.1","3.1","3.1.1","3.10","3.10.1","3.10.2","3.10.3","3.11","3.11.1","3.11.2","3.11.3","3.2","3.2.1","3.2.2","3.3","3.4","3.5","3.5.1","3.6","3.6.1","3.7","3.7.1","3.8","3.9","3.9.1","4.0","4.0.1","4.0.2","4.0.3","4.0.4","4.1","4.1.1","4.10","4.10.1","4.11","4.11.1","4.11.2","4.12","4.12.1","4.12.2","4.13","4.13.1","4.14","4.14.1","4.14.2","4.15","4.15.1","4.15.2","4.16","4.16.1","4.16.2","4.16.3","4.16.4","4.17","4.18","4.18.1","4.18.2","4.2","4.2.1","4.2.2","4.3","4.3.1","4.3.2","4.4","4.4.1","4.4.2","4.5","4.5.1","4.5.2","4.5.3","4.6","4.6.1","4.6.2","4.7","4.7.1","4.7.2","4.8","4.8.1","4.9","4.9.1","5.0","5.0.1","5.0.2","5.1","5.1.1","5.10","5.10.1","5.10.2","5.10.3","5.10.4","5.11","5.11.1","5.11.3","5.11.4","5.12.1","5.12.2","5.13","5.13.1","5.13.2","5.13.3","5.14","5.14.1","5.14.2","5.14.3","5.15","5.15.1","5.15.2","5.16","5.16.1","5.16.2","5.2","5.2.1","5.3","5.3.1","5.4","5.4.1","5.4.2","5.4.3","5.5","5.5.2","5.5.3","5.5.4","5.5.5","5.6","5.6.1","5.6.2","5.7","5.7.1","5.7.2","5.8.1","5.8.2","5.8.3","5.8.4","5.9.1","5.9.2"]}],"products":[{"vendor":"weblate","product":"weblate"},{"vendor":"weblateorg","product":"weblate"}],"references":[{"url":"https://github.com/WeblateOrg/weblate/security/advisories/GHSA-xrwr-fcw6-fmq8","tags":["x_refsource_CONFIRM","Third Party Advisory","advisory","web"]},{"url":"https://github.com/WeblateOrg/weblate/commit/e619e9090202e4886b844c110d39308e7e882c0e","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-34244","tags":["advisory"]},{"url":"https://github.com/WeblateOrg/weblate/pull/18684","tags":["web"]},{"url":"https://github.com/advisories/GHSA-xrwr-fcw6-fmq8"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34244.json","tags":["advisory"]},{"url":"https://github.com/WeblateOrg/weblate","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-34244","title":"Weblate: SSRF via Project-Level Machinery Configuration","description":"Weblate is a web based localization tool. In versions prior to 5.17, a user with the project.edit permission (granted by the per-project \"Administration\" role) can configure machine translation service URLs pointing to arbitrary internal network addresses. During configuration validation, Weblate makes an HTTP request to the attacker-controlled URL and reflects up to 200 characters of the response body back to the user in an error message. This constitutes a Server-Side Request Forgery (SSRF) with partial response read. This issue has been fixed in version 5.17. If developers are unable to immediately upgrade, they can limit available machinery services via WEBLATE_MACHINERY setting.","status":"published","published":"2026-04-15T18:22:42.551Z","modified":"2026-04-15T18:50:10.569Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-200","CWE-918"],"updated_at":"2026-11-02T14:20:14.302133Z"}],"euvd":[{"id":"EUVD-2026-23004","description":"Weblate is a web based localization tool. In versions prior to 5.17, a user with the project.edit permission (granted by the per-project \"Administration\" role) can configure machine translation service URLs pointing to arbitrary internal network addresses. During configuration validation, Weblate makes an HTTP request to the attacker-controlled URL and reflects up to 200 characters of the response body back to the user in an error message. This constitutes a Server-Side Request Forgery (SSRF) with partial response read. This issue has been fixed in version 5.17. If developers are unable to immediately upgrade, they can limit available machinery services via WEBLATE_MACHINERY setting.","status":"published","published":"2026-04-15T18:22:42Z","modified":"2026-04-15T18:50:10Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T19:24:25.212217Z"}],"ghsa":[{"id":"GHSA-xrwr-fcw6-fmq8","title":"Weblate: SSRF via Project-Level Machinery Configuration ","description":"### Impact\nA user with the `project.edit` permission (granted by the per-project \"Administration\" role) can configure machine translation service URLs pointing to arbitrary internal network addresses. During configuration validation, Weblate makes an HTTP request to the attacker-controlled URL and reflects up to 200 characters of the response body back to the user in an error message. This constitutes a Server-Side Request Forgery (SSRF) with partial response read.\n\n### Patches\n\n* https://github.com/WeblateOrg/weblate/pull/18684\n* The solution then has been cleaned up in followup patches\n\n### Workarounds\nLimiting available machinery services via WEBLATE_MACHINERY setting can avoid this.\n\n### References\n\nThanks to @DavidCarliez for disclosing this via GitHub private vulnerability reporting.","status":"published","published":"2026-04-16T20:43:38Z","modified":"2026-04-16T20:43:40Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-200","CWE-918"],"updated_at":"2026-11-02T14:39:54.128054Z"}],"nvd":[{"id":"CVE-2026-34244","description":"Weblate is a web based localization tool. In versions prior to 5.17, a user with the project.edit permission (granted by the per-project \"Administration\" role) can configure machine translation service URLs pointing to arbitrary internal network addresses. During configuration validation, Weblate makes an HTTP request to the attacker-controlled URL and reflects up to 200 characters of the response body back to the user in an error message. This constitutes a Server-Side Request Forgery (SSRF) with partial response read. This issue has been fixed in version 5.17. If developers are unable to immediately upgrade, they can limit available machinery services via WEBLATE_MACHINERY setting.","status":"published","published":"2026-04-15T19:16:35.903Z","modified":"2026-10-26T22:10:00.163Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-200","CWE-918"],"updated_at":"2026-11-02T14:12:14.748836Z"}],"osv":[{"id":"CVE-2026-34244","title":"Weblate: SSRF via Project-Level Machinery Configuration","description":"Weblate is a web based localization tool. In versions prior to 5.17, a user with the project.edit permission (granted by the per-project \"Administration\" role) can configure machine translation service URLs pointing to arbitrary internal network addresses. During configuration validation, Weblate makes an HTTP request to the attacker-controlled URL and reflects up to 200 characters of the response body back to the user in an error message. This constitutes a Server-Side Request Forgery (SSRF) with partial response read. This issue has been fixed in version 5.17. If developers are unable to immediately upgrade, they can limit available machinery services via WEBLATE_MACHINERY setting.","status":"published","published":"2026-04-15T18:22:42.551Z","modified":"2026-10-28T02:31:10.119511949Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-200","CWE-918"],"updated_at":"2026-11-02T15:45:02.247031Z"},{"id":"GHSA-xrwr-fcw6-fmq8","title":"Weblate: SSRF via Project-Level Machinery Configuration ","description":"### Impact\nA user with the `project.edit` permission (granted by the per-project \"Administration\" role) can configure machine translation service URLs pointing to arbitrary internal network addresses. During configuration validation, Weblate makes an HTTP request to the attacker-controlled URL and reflects up to 200 characters of the response body back to the user in an error message. This constitutes a Server-Side Request Forgery (SSRF) with partial response read.\n\n### Patches\n\n* https://github.com/WeblateOrg/weblate/pull/18684\n* The solution then has been cleaned up in followup patches\n\n### Workarounds\nLimiting available machinery services via WEBLATE_MACHINERY setting can avoid this.\n\n### References\n\nThanks to @DavidCarliez for disclosing this via GitHub private vulnerability reporting.","status":"published","published":"2026-04-16T20:43:38Z","modified":"2026-07-13T07:26:51.011590457Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-200","CWE-918"],"updated_at":"2026-11-02T15:47:00.198893Z"},{"id":"PYSEC-2026-2314","description":"Weblate is a web based localization tool. In versions prior to 5.17, a user with the project.edit permission (granted by the per-project \"Administration\" role) can configure machine translation service URLs pointing to arbitrary internal network addresses. During configuration validation, Weblate makes an HTTP request to the attacker-controlled URL and reflects up to 200 characters of the response body back to the user in an error message. This constitutes a Server-Side Request Forgery (SSRF) with partial response read. This issue has been fixed in version 5.17. If developers are unable to immediately upgrade, they can limit available machinery services via WEBLATE_MACHINERY setting.","status":"published","published":"2026-04-15T19:16:35.903Z","modified":"2026-07-13T07:15:48.090998898Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:55.537808Z"}]}}
