{"schema_version":"1.7.5","id":"CURL-CVE-2018-16839","published":"2018-10-31T08:00:00Z","modified":"2026-05-27T02:29:22.460237Z","aliases":["CVE-2018-16839"],"summary":"SASL password overflow via integer overflow","details":"libcurl contains a buffer overrun in the SASL authentication code.\n\nThe internal function `Curl_auth_create_plain_message` fails to correctly\nverify that the passed in lengths for name and password are not too long, then\ncalculates a buffer size to allocate.\n\nOn systems with a 32-bit `size_t`, the math to calculate the buffer size\ntriggers an integer overflow when the username length exceeds 1GB and the\npassword name length is close to 2GB in size. This integer overflow usually\ncauses a tiny buffer to actually get allocated instead of the intended huge\none, making the use of that buffer end up in a heap buffer overflow.\n\n(This bug is similar to\n[CVE-2018-14618](https://curl.se/docs/CVE-2018-14618.html).)","affected":[{"ranges":[{"type":"SEMVER","events":[{"introduced":"7.33.0"},{"fixed":"7.62.0"}]},{"type":"GIT","repo":"https://github.com/curl/curl.git","events":[{"introduced":"c56f9797e7feb7c2dc93bc389d4b85cc75220d77"},{"fixed":"f3a24d7916b9173c69a3e0ee790102993833d6c5"}]}],"versions":["7.61.1","7.61.0","7.60.0","7.59.0","7.58.0","7.57.0","7.56.1","7.56.0","7.55.1","7.55.0","7.54.1","7.54.0","7.53.1","7.53.0","7.52.1","7.52.0","7.51.0","7.50.3","7.50.2","7.50.1","7.50.0","7.49.1","7.49.0","7.48.0","7.47.1","7.47.0","7.46.0","7.45.0","7.44.0","7.43.0","7.42.1","7.42.0","7.41.0","7.40.0","7.39.0","7.38.0","7.37.1","7.37.0","7.36.0","7.35.0","7.34.0","7.33.0","curl-7_61_1","curl-7_61_0","curl-7_60_0","curl-7_59_0","curl-7_58_0","curl-7_57_0","curl-7_56_1","curl-7_56_0","curl-7_55_1","curl-7_55_0","curl-7_54_1","curl-7_54_0","curl-7_53_1","curl-7_53_0","curl-7_52_1","curl-7_52_0","curl-7_51_0","curl-7_50_3","curl-7_50_2","curl-7_50_1","curl-7_50_0","curl-7_49_1","curl-7_49_0","curl-7_48_0","curl-7_47_1","curl-7_47_0","curl-7_46_0","curl-7_45_0","curl-7_44_0","curl-7_43_0","curl-7_42_1","curl-7_42_0","curl-7_41_0","curl-7_40_0","curl-7_39_0","curl-7_38_0","curl-7_37_1","curl-7_37_0","curl-7_36_0","curl-7_35_0","curl-7_34_0","curl-7_33_0"],"database_specific":{"source":"https://curl.se/docs/CURL-CVE-2018-16839.json","vanir_signatures":[{"deprecated":false,"digest":{"function_hash":"307941837594799485192212106034451078774","length":711},"id":"CURL-CVE-2018-16839-712de67c","signature_type":"Function","signature_version":"v1","source":"https://github.com/curl/curl.git/commit/f3a24d7916b9173c69a3e0ee790102993833d6c5","target":{"file":"lib/vauth/cleartext.c","function":"Curl_auth_create_plain_message"}},{"deprecated":false,"digest":{"line_hashes":["323405508741544077634728860040609514286","223299084025646397460911356647096920855","237287603532771469400165005710548925177","294262302604077010113878498613345104589"],"threshold":0.9},"id":"CURL-CVE-2018-16839-c4e18881","signature_type":"Line","signature_version":"v1","source":"https://github.com/curl/curl.git/commit/f3a24d7916b9173c69a3e0ee790102993833d6c5","target":{"file":"lib/vauth/cleartext.c"}}],"vanir_signatures_modified":"2026-05-27T02:29:22Z"}}],"database_specific":{"CWE":{"desc":"Incorrect Calculation of Buffer Size","id":"CWE-131"},"URL":"https://curl.se/docs/CVE-2018-16839.json","affects":"both","last_affected":"7.61.1","package":"curl","severity":"Low","www":"https://curl.se/docs/CVE-2018-16839.html"},"credits":[{"name":"Harry Sintonen","type":"FINDER"},{"name":"Daniel Stenberg","type":"REMEDIATION_DEVELOPER"}]}