You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
explanation: "This commit message shows the documentation uses Curl_urldecode() to reject control‐code–embedded URLs in IMAP/POP3/SMTP, preventing command injection (CVE-2012-0036), links the advisory, and credits the reporter."
30
-
},
30
+
explanation: "Covers the What/Why/How succinctly but lacks SECOM framing: no vuln-fix: header, 75-word tri-section, weakness metadata, or attribution/footer fields. To be fully SECOM-compliant it needs the standardized header, per-weakness block, CVSS/severity, and formal “Reported-by/Reviewed-by/Signed-off-by” lines."
31
+
},
31
32
{
32
33
id: "auth-improvement",
33
-
title: "CVE-2012-0036 (after SECOM)",
34
+
title: "AFTER SECOM",
34
35
code: `vuln-fix: Sanitize URLs to reject malicious data (CVE-2012-0036)
35
36
36
-
Protocols (IMAP, POP3 and SMTP) that use the path part of a URL in a
37
-
decoded manner now use the new Curl_urldecode() function to reject URLs
38
-
with embedded control codes (anything that is or decodes to a byte value
39
-
less than 32).
40
-
URLs containing such codes could easily otherwise be used to do harm and
41
-
allow users to do unintended actions with otherwise innocent tools and
42
-
applications.
43
-
Like for example using a URL like pop3://pop3.example.com/1%0d%0aDELE%201
44
-
when the app wants a URL to get a mail and instead this would delete one.
37
+
libcurl IMAP/POP3/SMTP parsers accepted URL-path bytes that decode
38
+
to ASCII control characters, enabling attackers to smuggle extra
unintended mail operations. Any application that forwards
41
+
untrusted URLs could thus silently delete or alter messages.
42
+
The fix routes path decoding through Curl_urldecode(), which
43
+
aborts when a decoded byte < 0x20 and returns CURLE_URL_MALFORMAT,
44
+
preventing the crafted request from ever reaching the server.
45
45
46
46
Weakness: CWE-89
47
47
Severity: High
@@ -53,8 +53,8 @@ Signed-off-by: Daniel Stenberg ([email protected])
53
53
54
54
Resolves: #17940
55
55
See also: #17937`,
56
-
explanation: "This example shows how to document a new security feature that addresses a brute force vulnerability. It clearly describes the problem, impact, and solution."
57
-
}
56
+
explanation: "SECOM-compliant commit message. Uses the vuln-fix: header, concise What/Why/How body, and a weakness block with CWE, severity and report link."
Comprehensive documentation for the SECOM convention, a standardized approach to security commit messages.
@@ -47,10 +47,10 @@ const Docs = () => {
47
47
</p>
48
48
49
49
<ul>
50
-
<li><ahref="/docs/installation"className="text-primary hover:underline">Installation</a> - Set up SECOM in your development environment</li>
50
+
<li><ahref="/docs/configuration"className="text-primary hover:underline">Configuration</a> - Set up SECOM in your development environment</li>
51
51
<li><ahref="/docs/convention"className="text-primary hover:underline">Convention Overview</a> - Understand the full convention specification</li>
52
52
<li><ahref="/docs/reference"className="text-primary hover:underline">Reference Guide</a> - Explore example patterns and templates</li>
53
-
<li><ahref="https://tqrg.github.io/secomlint/"className="text-primary hover:underline"target="_blank"rel="noopener noreferrer">Linter Tool</a> - Check compliance with the convention</li>
53
+
<li><ahref="https://security-commits.org/secomlint/"className="text-primary hover:underline"target="_blank"rel="noopener noreferrer">Linter Tool</a> - Check compliance with the convention</li>
0 commit comments