{"id":"CURL-CVE-2019-5482","summary":"TFTP small blocksize heap buffer overflow","details":"libcurl contains a heap buffer overflow in the function\n(`tftp_receive_packet()`) that receives data from a TFTP server. It can call\n`recvfrom()` with the default size for the buffer rather than with the size\nthat was used to allocate it. Thus, the content that might overwrite the heap\nmemory is controlled by the server.\n\nThis flaw is only triggered if the TFTP server sends an `OACK` without the\n`BLKSIZE` option, when a `BLKSIZE` smaller than 512 bytes was requested by the\nTFTP client.  `OACK` is a TFTP extension and is not used by all TFTP servers.\n\nUsers choosing a smaller block size than default should be rare as the primary\nuse case for changing the size is to make it larger.\n\nIt is rare for users to use TFTP across the Internet. It is most commonly used\nwithin local networks. TFTP as a protocol is always inherently insecure.\n\nThis issue was introduced by the add of the TFTP `BLKSIZE` option handling. It\nwas previously incompletely fixed by an almost identical issue called\nCVE-2019-5436.","aliases":["CVE-2019-5482"],"modified":"2025-05-15T17:48:29Z","published":"2019-09-11T08:00:00Z","database_specific":{"URL":"https://curl.se/docs/CVE-2019-5482.json","CWE":{"desc":"Heap-based Buffer Overflow","id":"CWE-122"},"www":"https://curl.se/docs/CVE-2019-5482.html","last_affected":"7.65.3","affects":"lib","package":"curl","severity":"Medium","award":{"amount":"250","currency":"USD"},"issue":"https://hackerone.com/reports/684603"},"affected":[{"ranges":[{"type":"SEMVER","events":[{"introduced":"7.19.4"},{"fixed":"7.66.0"}]},{"type":"GIT","repo":"https://github.com/curl/curl.git","events":[{"introduced":"0516ce7786e9500c2e447d48aa9b3f24a6ca70f9"},{"fixed":"facb0e4662415b5f28163e853dc6742ac5fafb3d"}]}],"versions":["7.65.3","7.65.2","7.65.1","7.65.0","7.64.1","7.64.0","7.63.0","7.62.0","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","7.32.0","7.31.0","7.30.0","7.29.0","7.28.1","7.28.0","7.27.0","7.26.0","7.25.0","7.24.0","7.23.1","7.23.0","7.22.0","7.21.7","7.21.6","7.21.5","7.21.4","7.21.3","7.21.2","7.21.1","7.21.0","7.20.1","7.20.0","7.19.7","7.19.6","7.19.5","7.19.4"],"database_specific":{"source":"https://curl.se/docs/CURL-CVE-2019-5482.json","vanir_signatures":[{"digest":{"threshold":0.9,"line_hashes":["26378795614508232198728425798857561476","36290248131429009214612897836516156740","195795806188894590575346491925218510319","75130091097905654479372453573826574823","51612926351918823360108022661523269401","53038026563869827042776868612940455653","276303289638484063040816382551882643051","269768825080449628208388722441647108423","113863790703894965560039882920351410290","160228325956777711014816182671650096088","25602577997115592850543801912675935360","296897456537287635107549586264822128766","91840096202607173895659644508862930595","322218235016946393323333040120323880445","162319686377876185121006640540801890000","18741241614788194451129722701456894612","311207729584293697568126388078527307720","337369751088538427782254977612691571802"]},"target":{"file":"lib/tftp.c"},"source":"https://github.com/curl/curl.git/commit/facb0e4662415b5f28163e853dc6742ac5fafb3d","signature_version":"v1","deprecated":false,"signature_type":"Line","id":"CURL-CVE-2019-5482-539096be"},{"digest":{"function_hash":"326312936458881610076074265734184974109","length":1459},"target":{"function":"tftp_connect","file":"lib/tftp.c"},"source":"https://github.com/curl/curl.git/commit/facb0e4662415b5f28163e853dc6742ac5fafb3d","signature_version":"v1","deprecated":false,"signature_type":"Function","id":"CURL-CVE-2019-5482-bfb8c4a5"}]}}],"schema_version":"1.7.3","credits":[{"name":"Thomas Vegas","type":"FINDER"},{"name":"Thomas Vegas","type":"REMEDIATION_DEVELOPER"}]}