Anders Schack-Mulligen
b521d64156
Dataflow: Sync.
2022-04-19 15:29:35 +02:00
Porcupiney Hairs
85c751cb7f
CPP: PAM Authorization Bypass
...
This PR is similar to my other PRs for
[Python](https://github.com/github/codeql/pull/8595 ) and
[Golang](https://github.com/github/codeql-go/pull/709 ).
This PR aims to detect instances were an initiated PAM Transaction invokes the `pam_authenticate` method but does not invoke a call to the pam_acct_mgmt` method. This is bad as a call to `pam_authenticate` only verifies the users credentials. It does not check if the user account is still is a valid state.
If only a call to `pam_authenticate` is used to verify the user, a user with an expired account password would still be able to login. This can be prevented by calling the `pam_acct_mgmt` function after a `pam_authenticate` function.
2022-04-19 18:24:19 +05:30
Geoffrey White
3326fd5400
C++: Update test .expected.
2022-04-19 13:43:17 +01:00
Geoffrey White
5698638d1f
Apply suggestions from code review (documentation)
...
Co-authored-by: hubwriter <hubwriter@github.com >
2022-04-19 13:38:00 +01:00
Anders Schack-Mulligen
82463c9290
Merge pull request #8774 from MathiasVP/nomagic-revPartialPathStep
...
Add `nomagic` to `revPartialPathStep`
2022-04-19 14:02:04 +02:00
Geoffrey White
6e184f2438
C++: Rename variables 'a' and 'b'.
2022-04-19 10:57:42 +01:00
Geoffrey White
da38c9041c
C++: Improvements from PR comments.
2022-04-19 10:25:00 +01:00
Geoffrey White
50c7e47dd9
C++: Improve QLDoc.
2022-04-19 10:15:12 +01:00
Geoffrey White
da454128ed
Update cpp/ql/src/Security/CWE/CWE-611/XXE.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-04-19 10:08:07 +01:00
Geoffrey White
0aa1945f30
C++: Comments.
2022-04-19 10:04:15 +01:00
Mathias Vorreiter Pedersen
91b413d59f
Dataflow: Sync identical files.
2022-04-19 09:57:21 +01:00
Mathias Vorreiter Pedersen
d5722ffa61
C++: Add 'nomagic' to 'revPartialPathStep'.
2022-04-19 09:56:41 +01:00
Robert Marsh
cae08c505f
Merge branch 'main' into rdmarsh2/ir-global-vars
2022-04-18 15:25:03 -04:00
Robert Marsh
b5c8413f5c
Merge branch 'main' into rdmarsh2/ir-global-vars
2022-04-18 15:19:25 -04:00
Geoffrey White
8a32c17c56
C++: Fix the issue.
2022-04-14 17:03:28 +01:00
Geoffrey White
2ac21d6932
C++: Use isBarrier rather than isBarrierOut (which is going away).
2022-04-14 09:21:57 +01:00
Geoffrey White
27b6b99cd0
C++: Correct and improve some comments and naming.
2022-04-13 18:34:15 +01:00
Geoffrey White
2ad81e63a5
C++: Change note.
2022-04-13 16:11:14 +01:00
Geoffrey White
dfd846bb7b
C++: Changes to the qhelp.
2022-04-13 15:53:13 +01:00
Geoffrey White
d83aea5ea3
C++: Copy the qhelp from Javascript.
2022-04-13 15:16:01 +01:00
Geoffrey White
b149666f45
C++: Query metadata (precision is provisional, might up it to 'high' later).
2022-04-13 15:15:28 +01:00
Geoffrey White
be0df1662c
C++: Rename the query file.
2022-04-13 13:20:02 +01:00
Geoffrey White
ffbe724040
C++: Remove unfinished parts for now.
2022-04-13 13:18:23 +01:00
Robert Marsh
0e3e35f233
C++: don't dump global vars without initializers
2022-04-12 11:21:41 -04:00
Geoffrey White
cb211f8844
Merge pull request #8599 from 4B5F5F4B/main
...
C++: refactor some code, and add access_ok cases
2022-04-11 15:57:27 +01:00
Mathias Vorreiter Pedersen
e86b6b182f
C++: Remove TC from 'Element.getRootCause'.
2022-04-11 15:27:10 +01:00
Jeroen Ketema
4cfe04567f
Merge pull request #8702 from jketema/command-line-sanitizer
...
C++: Use `isSanitizerOut(DataFlow::Node node)` in `cpp/command-line-injection`
2022-04-08 23:42:35 +02:00
Geoffrey White
8d1e8e9ecb
C++: Flow states and transformers.
2022-04-08 17:19:18 +01:00
Edoardo Pirovano
f25618eed6
Bump minor version of all packs
2022-04-08 15:38:58 +01:00
Edoardo Pirovano
ce82c54b94
Merge branch 'main' into edoardo/3.5-mergeback
2022-04-08 15:30:58 +01:00
Jeroen Ketema
83d35a9a96
C++: Use isSanitizerOut(DataFlow::Node node) in cpp/command-line-injection
2022-04-08 11:28:17 +02:00
Geoffrey White
3aaa058308
C++: Get the simplest part of the query working, disable the rest for now, fix metadata, formatting etc.
2022-04-07 19:01:30 +01:00
Geoffrey White
9a0880f516
C++: Clean up the tests, make them a bit more realistic, and add many more test cases.
2022-04-07 19:00:30 +01:00
Geoffrey White
e2eda65fe1
C++: Rename test, add .expected.
2022-04-07 18:59:51 +01:00
Anders Schack-Mulligen
4eaec3953a
Merge pull request #8694 from aschackmull/dataflow/cleanup-unused
...
Dataflow: Cleanup unused column
2022-04-07 15:16:27 +02:00
Anders Schack-Mulligen
7beed570f2
Dataflow: Sync.
2022-04-07 13:53:48 +02:00
Jeroen Ketema
bfe9fb1721
Revert "Revert "Merge pull request #8592 from jketema/implied-cctor-source""
...
This reverts commit b1d9a070f4 .
2022-04-07 12:29:43 +02:00
Jeroen Ketema
b1d9a070f4
Revert "Merge pull request #8592 from jketema/implied-cctor-source"
...
This reverts commit d4834cb7ff , reversing
changes made to 268a3fd1c5 .
2022-04-07 12:02:37 +02:00
Mathias Vorreiter Pedersen
d4834cb7ff
Merge pull request #8592 from jketema/implied-cctor-source
...
C++: Add tests for copy constructor calls with implied source
2022-04-07 11:00:40 +01:00
Robert Marsh
3a35a40062
WIP: start on CWE-611 tests
2022-04-06 12:55:56 +01:00
Robert Marsh
370dd057dc
C++: more WIP on Xerces XXE query
2022-04-06 12:55:54 +01:00
Robert Marsh
9b6c1bc691
WIP: Xerces XXE
2022-04-06 12:55:52 +01:00
Tom Hvitved
4099d1318f
Data flow: Tweak two join-orders
...
Before
```
[2022-04-06 13:19:29] (96s) Tuple counts for DataFlowImpl2::Stage1::revFlowConsCand#7ad53399#ff/2@i14#aa10f2wi after 4.4s:
10681 ~0% {2} r1 = SCAN DataFlowImpl2::Stage1::revFlow#7ad53399#fff#prev_delta OUTPUT In.0, In.2 'config'
982 ~1% {3} r2 = JOIN r1 WITH DataFlowImpl2::readSet#7ad53399#ffff_2301#join_rhs ON FIRST 2 OUTPUT Rhs.3, Lhs.1 'config', Rhs.2
83691528 ~2% {3} r3 = JOIN r2 WITH DataFlowPublic::ContentSet::getAReadContent#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1 'config', Lhs.2, Rhs.1 'c'
83581763 ~2% {3} r4 = r3 AND NOT DataFlowImpl2::Stage1::revFlowConsCand#7ad53399#ff#prev(Lhs.2 'c', Lhs.0 'config')
83581763 ~0% {3} r5 = SCAN r4 OUTPUT In.2 'c', In.0 'config', In.1
0 ~0% {3} r6 = JOIN r5 WITH DataFlowImpl2::Stage1::fwdFlowConsCand#7ad53399#ff ON FIRST 2 OUTPUT Lhs.2, Lhs.1 'config', Lhs.0 'c'
0 ~0% {2} r7 = JOIN r6 WITH DataFlowImpl2::Stage1::fwdFlow#7ad53399#2#fff_02#join_rhs ON FIRST 2 OUTPUT Lhs.2 'c', Lhs.1 'config'
return r7
```
After
```
[2022-04-06 13:44:38] (6s) Tuple counts for DataFlowImpl2::Stage1::revFlowConsCand#7ad53399#ff/2@i14#5abbf2wn after 6ms:
10681 ~0% {2} r1 = SCAN DataFlowImpl2::Stage1::revFlow#7ad53399#fff#prev_delta OUTPUT In.0, In.2 'config'
982 ~1% {3} r2 = JOIN r1 WITH DataFlowImpl2::readSet#7ad53399#ffff_2301#join_rhs ON FIRST 2 OUTPUT Rhs.3, Lhs.1 'config', Rhs.2
109765 ~0% {3} r3 = JOIN r2 WITH DataFlowImpl2::Stage1::fwdFlowConsCandSet#7ad53399#fff#reorder_0_2_1 ON FIRST 2 OUTPUT Lhs.1 'config', Lhs.2, Rhs.2 'c'
0 ~0% {3} r4 = r3 AND NOT DataFlowImpl2::Stage1::revFlowConsCand#7ad53399#ff#prev(Lhs.2 'c', Lhs.0 'config')
0 ~0% {3} r5 = SCAN r4 OUTPUT In.1, In.0 'config', In.2 'c'
0 ~0% {2} r6 = JOIN r5 WITH DataFlowImpl2::Stage1::fwdFlow#7ad53399#2#fff_02#join_rhs ON FIRST 2 OUTPUT Lhs.2 'c', Lhs.1 'config'
return r6
```
2022-04-06 13:52:30 +02:00
4B5F5F4B
04538d0599
Autoformated to make CodeQL happy
2022-04-06 11:59:26 +08:00
ihsinme
275b29a288
Update DangerousUseOfExceptionBlocks.expected
2022-04-05 22:48:11 +03:00
Jeroen Ketema
d19504fca2
C++: Add cpp/unused-local-variable test case with switch initializer
...
This is similar to the test case with the `if` initializer, and we should
not forget about it once we support `if` initialization.
2022-04-05 18:27:53 +02:00
ihsinme
73de757f39
Update DangerousUseOfExceptionBlocks.ql
2022-04-04 21:38:03 +03:00
Geoffrey White
04b8306f06
C++: Add some more patterns.
2022-04-04 16:57:00 +01:00
Geoffrey White
d2e7f22d1b
C++: Group all phone number related exprs together.
2022-04-04 16:48:03 +01:00
Geoffrey White
d42ee7d279
C++: Extend tests.
2022-04-04 16:46:56 +01:00