SMB send off unrelated memory contents
libcurl can get tricked by a malicious SMB server to send off data it did not intend to. In libcurl's state machine function handling the SMB protocol (`smb_request_state()`), two length and offset values are extracted from data that has arrived over the network, and those values are subsequently used to figure out what data range to send back. The values are used and trusted without boundary checks and are assumed to be valid. This allows carefully handcrafted packages to trick libcurl into responding and sending off data that was not intended. Or crash if the values cause libcurl to access invalid memory.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2015-3237
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 16:54 UTC · Revision 1
Source evidence
libcurl can get tricked by a malicious SMB server to send off data it did not intend to. In libcurl's state machine function handling the SMB protocol (`smb_request_state()`), two length and offset values are extracted from data that has arrived over the network, and those values are subsequently used to figure out what data range to send back. The values are used and trusted without boundary checks and are assumed to be valid. This allows carefully handcrafted packages to trick libcurl into responding and sending off data that was not intended. Or crash if the values cause libcurl to access invalid memory.
osv:CURL-CVE-2015-3237
Complete source record
{
"id": "d52923569ab198829b7888d2c4a60edc21b4104fce2a6b649c07d94b14c1583b",
"url": "https://osv.dev/vulnerability/CURL-CVE-2015-3237",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "SMB send off unrelated memory contents",
"summary": "libcurl can get tricked by a malicious SMB server to send off data it did not intend to. In libcurl's state machine function handling the SMB protocol (`smb_request_state()`), two length and offset values are extracted from data that has arrived over the network, and those values are subsequently used to figure out what data range to send back. The values are used and trusted without boundary checks and are assumed to be valid. This allows carefully handcrafted packages to trick libcurl into responding and sending off data that was not intended. Or crash if the values cause libcurl to access invalid memory.",
"evidence": "osv:CURL-CVE-2015-3237",
"products": [],
"severity": "high",
"structured": {
"id": "CURL-CVE-2015-3237",
"aliases": [
"CURL-CVE-2015-3237",
"CVE-2015-3237"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "7.40.0"
},
{
"fixed": "7.43.0"
}
]
},
{
"repo": "https://github.com/curl/curl.git",
"type": "GIT",
"events": [
{
"introduced": "e80d9d5902f38407d971587f2a6b7b839247ca92"
},
{
"fixed": "50c7f17e503fbab5081b69c97f9d4645389b9270"
}
]
}
],
"versions": [
"7.42.1",
"7.42.0",
"7.41.0",
"7.40.0",
"curl-7_42_1",
"curl-7_42_0",
"curl-7_41_0",
"curl-7_40_0"
],
"database_specific": {
"source": "https://curl.se/docs/CURL-CVE-2015-3237.json",
"vanir_signatures": [
{
"id": "CURL-CVE-2015-3237-adb1a990",
"digest": {
"threshold": 0.9,
"line_hashes": [
"133709591701469678183633004515703879137",
"275971352638128819471138387032967939445",
"126077310330602836890399135254576876122",
"174908122469919804202893443409697812314",
"60081792177254282548318352902677282523",
"278682513450920856603214751427433535182"
]
},
"source": "https://github.com/curl/curl.git/commit/50c7f17e503fbab5081b69c97f9d4645389b9270",
"target": {
"file": "lib/smb.c"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CURL-CVE-2015-3237-d07220c2",
"digest": {
"length": 3226,
"function_hash": "143572682265013568568942217572854695151"
},
"source": "https://github.com/curl/curl.git/commit/50c7f17e503fbab5081b69c97f9d4645389b9270",
"target": {
"file": "lib/smb.c",
"function": "smb_request_state"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
}
],
"vanir_signatures_modified": "2026-10-27T01:28:32Z"
}
}
],
"modified": "2026-10-27T01:28:32.821325525Z",
"provider": "osv",
"references": [],
"provider_metadata": {
"CWE": {
"id": "CWE-126",
"desc": "Buffer Over-read"
},
"URL": "https://curl.se/docs/CVE-2015-3237.json",
"www": "https://curl.se/docs/CVE-2015-3237.html",
"affects": "both",
"package": "curl",
"severity": "High",
"last_affected": "7.42.1"
}
},
"related_cves": [
{
"value": "CVE-2015-3237",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 459152,
"published_at": "2015-06-17T08:00:00+00:00"
}