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
title: "Add a placeholder for issue title. ex: [BUG]"
5
+
labels: bug
6
+
assignees: ""
7
+
---
8
+
9
+
**Is it a security vulnerability?**
10
+
If it results in a crash or hang, please refer to [a quick checklist](../../doc/security_need_to_know.md#is-this-bug-considered-a-security-vulnerability) to determine if it is a security vulnerability. If you are still unsure, please report it through [a security advisor](https://github.com/bytecodealliance/wasm-micro-runtime/security/advisories) and allow the maintainer to make a decision. Thank you.
11
+
12
+
**Describe the bug**
13
+
A clear and concise description of what the bug is.
14
+
15
+
**Version**
16
+
Information like tags, release version, commits.
17
+
18
+
**To Reproduce**
19
+
Steps to reproduce the behavior:
20
+
21
+
1. Compile iwasm with flags like '...'
22
+
2. (Optional) Compile wamrc with flags like '....'
23
+
3. (Optional) Run wamrc with CLI options like '...' to generate .aot
24
+
4. Run iwasm with CLI options like '...'
25
+
5. See error
26
+
27
+
**Expected behavior**
28
+
A clear and concise description of what you expected to happen.
29
+
30
+
**Actual Result**
31
+
What you've got.
32
+
33
+
**Desktop (please complete the following information):**
The script `runtime_lib.cmake` defines a number of variables for configuring the WAMR runtime features. You can set these variables in your CMakeList.txt or pass the configurations from cmake command line.
22
22
23
+
Please refer to [a full list of configuration options](./tired_support.md#appendix-all-compilation-flags).
24
+
23
25
### **Configure platform and architecture**
24
26
25
27
-**WAMR_BUILD_PLATFORM**: set the target platform. It can be set to any platform name (folder name) under folder [core/shared/platform](../core/shared/platform).
Copy file name to clipboardExpand all lines: doc/security_need_to_know.md
+34-7Lines changed: 34 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,19 +15,46 @@ It is commonly stated that a security issue is an issue that:
15
15
16
16
Given that WASI is a set of Capability-based APIs, all unauthorized actions are not supposed to happen. Most of the above security concerns can be alleviated. What remains for us is to ensure that the execution of Wasm modules is secure. In other words, do not compromise the sandbox. Unless it is explicitly disabled beforehand.
17
17
18
-
Thus, we share most of the criteria for judging security issues with [the Bytecode Alliance](https://github.com/bytecodealliance/rfcs/blob/main/accepted/what-is-considered-a-security-bug.md#definition).
18
+
### Is this bug considered a security vulnerability?
19
19
20
-
> [!NOTE]
21
-
> keep updating this document as the project evolves.
20
+
#### For someone who finds a problem
21
+
22
+
if a bug **results in crash or hang**, please treat it as a security problem and report it to a security advisor. The maintainer will look into it and change its category if needed. It is better safe than sorry.
23
+
24
+
If the author of an issue(results in crash or hang) can go through the following checklist and answer all questions with "No", it is fine to mark it as a regular bug. If not, please report it as a security issue.
25
+
26
+
---
27
+
28
+
#### For those maintainers
29
+
30
+
please use the following guidelines to determine if a bug or advisory is a security issue:
31
+
32
+
Only bugs that affect [tier A platforms or features](./tiered_support.md) should be considered.
33
+
34
+
Actions that differ from Wasm rules (like calculating wrong values) are not seen as security issues as long as they stay within the sandbox.
35
+
36
+
By default, native APIs and CLIs are following the principle of **caller guarantee**. If the caller provides incorrect parameters or users input malformed options, it is not a security issue. For example, if a user passes an invalid file descriptor to `fd_read`, it is not a security issue.
37
+
38
+
.wasm are not trusted. Malformed .wasm files should be handled gracefully. If a .wasm file causes a runtime crash or hang, it is a security issue. On the other hand, it's expected that aot runtime alone doesn't provide the same guarantee. So user-crafted .aot can cause anything, including crashes or hangs. They are not considered security issues.
39
+
40
+
A denial-of-service (DoS) attack is a cyberattack that aims to make a computer or network resource unavailable to its users. If the service (runtime in this case) can recover and start another module or run another function within the same instance, it is not considered unavailable, and thus not a Denial of Service (DoS).
41
+
42
+
Another type of execution problem we usually do not classify as a security one is if it is caused by an infinite loop or incorrect recursive function call chain.
43
+
44
+
### When a maintainer identify a problem that should be classified as a security vulnerability
45
+
46
+
Once a maintainer realizes an issue or PR describes a real or possible security vulnerability, act quickly to minimize exposure. Do not share technical details publicly on the issue or PR anymore. Maintainers should:
47
+
48
+
- Close or edit the public discussion. Thank the person who reported it and explain that security-related issues should go through the Security Advisory process. Close the public issue or pull request as soon as possible to prevent further public sharing. If details have already been shared, consider editing or asking GitHub staff to remove sensitive content.
49
+
50
+
- Create a Security Advisory. Invite the reporter to join as a collaborator or reporter. If the reporter is uncomfortable using GitHub Security Advisories, offer another private communication method, such as email.
51
+
52
+
- Follow the guidelines in [the security issue runbook](./security_issue_runbook.md) for the next steps.
22
53
23
54
## reporting a security issue
24
55
25
56
Follow the [same guidelines](https://bytecodealliance.org/security) as other projects within the Bytecode Alliance.
26
57
27
58
## managing a security issue
28
59
29
-
Before reporting an issue, particularly one related to crashing, consult [the cheat sheet](https://github.com/bytecodealliance/rfcs/blob/main/accepted/what-is-considered-a-security-bug.md#cheat-sheet-is-this-bug-considered-a-security-vulnerability), _Report a security vulnerability_ if it qualifies.
30
-
31
-
Upon receiving an issue, thoroughly review [the cheat sheet](https://github.com/bytecodealliance/rfcs/blob/main/accepted/what-is-considered-a-security-bug.md#cheat-sheet-is-this-bug-considered-a-security-vulnerability) to assess and _Report a security vulnerability_ if the issue is indeed a security vulnerability.
32
-
33
60
Once a security issue is confirmed, please refer to [the runbook](./security_issue_runbook.md) for the subsequent steps to take.
0 commit comments