Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2c8a4f8

Browse files
committed
make rb/overly-permissive-file a proper path-problem
1 parent 4375452 commit 2c8a4f8

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

ql/src/queries/security/cwe-732/WeakFilePermissions.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
*/
1111

1212
import ruby
13+
import codeql_ruby.dataflow.internal.DataFlowImpl::PathGraph
1314
private import codeql_ruby.dataflow.SSA
1415
private import codeql_ruby.dataflow.internal.DataFlowImpl as DataFlow
1516

@@ -94,5 +95,5 @@ class PermissivePermissionsConfig extends DataFlow::Configuration {
9495

9596
from DataFlow::PathNode source, DataFlow::PathNode sink, PermissivePermissionsConfig conf
9697
where conf.hasFlowPath(source, sink)
97-
select sink, source, sink, "Overly permissive mask sets file to $@.", source.getNode(),
98+
select sink.getNode(), source, sink, "Overly permissive mask sets file to $@.", source.getNode(),
9899
source.getNode().toString()

ql/test/query-tests/security/cwe-732/WeakFilePermissions.expected

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
edges
2+
| FilePermissions.rb:43:10:43:13 | 0777 : | FilePermissions.rb:44:19:44:22 | perm |
3+
| FilePermissions.rb:43:10:43:13 | 0777 : | FilePermissions.rb:46:19:46:23 | perm2 |
4+
| FilePermissions.rb:48:10:48:26 | "u=wrx,g=rwx,o=x" : | FilePermissions.rb:50:19:50:23 | perm2 |
5+
nodes
6+
| FilePermissions.rb:4:19:4:22 | 0222 | semmle.label | 0222 |
7+
| FilePermissions.rb:5:19:5:22 | 0622 | semmle.label | 0622 |
8+
| FilePermissions.rb:6:19:6:22 | 0755 | semmle.label | 0755 |
9+
| FilePermissions.rb:7:19:7:22 | 0777 | semmle.label | 0777 |
10+
| FilePermissions.rb:24:13:24:16 | 0755 | semmle.label | 0755 |
11+
| FilePermissions.rb:43:10:43:13 | 0777 : | semmle.label | 0777 : |
12+
| FilePermissions.rb:44:19:44:22 | perm | semmle.label | perm |
13+
| FilePermissions.rb:46:19:46:23 | perm2 | semmle.label | perm2 |
14+
| FilePermissions.rb:48:10:48:26 | "u=wrx,g=rwx,o=x" : | semmle.label | "u=wrx,g=rwx,o=x" : |
15+
| FilePermissions.rb:50:19:50:23 | perm2 | semmle.label | perm2 |
16+
| FilePermissions.rb:51:19:51:29 | "u=rwx,o+r" | semmle.label | "u=rwx,o+r" |
17+
| FilePermissions.rb:53:19:53:24 | "a+rw" | semmle.label | "a+rw" |
18+
| FilePermissions.rb:57:16:57:19 | 0755 | semmle.label | 0755 |
19+
#select
120
| FilePermissions.rb:4:19:4:22 | 0222 | FilePermissions.rb:4:19:4:22 | 0222 | FilePermissions.rb:4:19:4:22 | 0222 | Overly permissive mask sets file to $@. | FilePermissions.rb:4:19:4:22 | 0222 | 0222 |
221
| FilePermissions.rb:5:19:5:22 | 0622 | FilePermissions.rb:5:19:5:22 | 0622 | FilePermissions.rb:5:19:5:22 | 0622 | Overly permissive mask sets file to $@. | FilePermissions.rb:5:19:5:22 | 0622 | 0622 |
322
| FilePermissions.rb:6:19:6:22 | 0755 | FilePermissions.rb:6:19:6:22 | 0755 | FilePermissions.rb:6:19:6:22 | 0755 | Overly permissive mask sets file to $@. | FilePermissions.rb:6:19:6:22 | 0755 | 0755 |

0 commit comments

Comments
 (0)