Skip to content

Commit c48b0fa

Browse files
committed
Merge remote-tracking branch 'origin/update-from-template-merged' into develop
2 parents e1c16f2 + 12e443c commit c48b0fa

File tree

12 files changed

+91
-25
lines changed

12 files changed

+91
-25
lines changed

.config/pmd/java/ruleset.xml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,4 +194,52 @@
194194
</rule>
195195

196196
<rule ref="category/java/security.xml"/>
197+
198+
<rule name="AvoidSystemSetterCall"
199+
language="java"
200+
message="Setters of java.lang.System should not be called unless really needed"
201+
class="net.sourceforge.pmd.lang.rule.xpath.XPathRule">
202+
<description>
203+
Calling setters of java.lang.System usually indicates bad design and likely causes unexpected behavior.
204+
For example, it may break when multiple Threads are setting the value.
205+
It may also overwrite user defined options or properties.
206+
207+
Try to pass the value only to the place where it's really needed and use it there accordingly.
208+
</description>
209+
<priority>3</priority>
210+
<properties>
211+
<property name="xpath">
212+
<value>
213+
<![CDATA[
214+
//MethodCall[starts-with(@MethodName,'set')]/TypeExpression[pmd-java:typeIsExactly('java.lang.System')]
215+
]]>
216+
</value>
217+
</property>
218+
</properties>
219+
</rule>
220+
221+
<rule name="JavaObjectSerializationIsUnsafe"
222+
language="java"
223+
message="Using Java Object (De-)Serialization is unsafe and has led to too many security vulnerabilities"
224+
class="net.sourceforge.pmd.lang.rule.xpath.XPathRule">
225+
<description>
226+
Nearly every known usage of (Java) Object Deserialization has resulted in [a security vulnerability](https://cloud.google.com/blog/topics/threat-intelligence/hunting-deserialization-exploits?hl=en).
227+
Vulnerabilities are so common that there are [dedicated projects for exploit payload generation](https://github.com/frohoff/ysoserial).
228+
229+
Java Object Serialization may also fail to deserialize when the underlying classes are changed.
230+
231+
Use proven data interchange formats like JSON instead.
232+
</description>
233+
<priority>2</priority>
234+
<properties>
235+
<property name="xpath">
236+
<value>
237+
<![CDATA[
238+
//ClassDeclaration[@Interface = false()]/ClassBody/FieldDeclaration/VariableDeclarator/VariableId[@Name='serialVersionUID'] |
239+
//ConstructorCall/ClassType[pmd-java:typeIsExactly('java.io.ObjectInputStream') or pmd-java:typeIsExactly('java.io.ObjectOutputStream')]
240+
]]>
241+
</value>
242+
</property>
243+
</properties>
244+
</rule>
197245
</ruleset>

.github/workflows/broken-links.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ jobs:
1313
runs-on: ubuntu-latest
1414
timeout-minutes: 15
1515
steps:
16-
- uses: actions/checkout@v4
16+
- uses: actions/checkout@v5
1717

1818
- run: mv .github/.lycheeignore .lycheeignore
1919

2020
- name: Link Checker
2121
id: lychee
22-
uses: lycheeverse/lychee-action@5c4ee84814c983aa7164eaee476f014e53ff3963 # v2
22+
uses: lycheeverse/lychee-action@885c65f3dc543b57c898c8099f4e08c8afd178a2 # v2
2323
with:
2424
fail: false # Don't fail on broken links, create an issue instead
2525

.github/workflows/check-build.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ jobs:
3333
distribution: [temurin]
3434

3535
steps:
36-
- uses: actions/checkout@v4
36+
- uses: actions/checkout@v5
3737

3838
- name: Set up JDK
39-
uses: actions/setup-java@v4
39+
uses: actions/setup-java@v5
4040
with:
4141
distribution: ${{ matrix.distribution }}
4242
java-version: ${{ matrix.java }}
@@ -90,10 +90,10 @@ jobs:
9090
distribution: [temurin]
9191

9292
steps:
93-
- uses: actions/checkout@v4
93+
- uses: actions/checkout@v5
9494

9595
- name: Set up JDK
96-
uses: actions/setup-java@v4
96+
uses: actions/setup-java@v5
9797
with:
9898
distribution: ${{ matrix.distribution }}
9999
java-version: ${{ matrix.java }}
@@ -113,10 +113,10 @@ jobs:
113113
distribution: [temurin]
114114

115115
steps:
116-
- uses: actions/checkout@v4
116+
- uses: actions/checkout@v5
117117

118118
- name: Set up JDK
119-
uses: actions/setup-java@v4
119+
uses: actions/setup-java@v5
120120
with:
121121
distribution: ${{ matrix.distribution }}
122122
java-version: ${{ matrix.java }}

.github/workflows/release.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ jobs:
1616
runs-on: ubuntu-latest
1717
timeout-minutes: 30
1818
steps:
19-
- uses: actions/checkout@v4
19+
- uses: actions/checkout@v5
2020

2121
- name: Set up JDK
22-
uses: actions/setup-java@v4
22+
uses: actions/setup-java@v5
2323
with:
2424
java-version: '17'
2525
distribution: 'temurin'
@@ -53,7 +53,7 @@ jobs:
5353
outputs:
5454
upload_url: ${{ steps.create-release.outputs.upload_url }}
5555
steps:
56-
- uses: actions/checkout@v4
56+
- uses: actions/checkout@v5
5757

5858
- name: Configure Git
5959
run: |
@@ -105,7 +105,7 @@ jobs:
105105
needs: [prepare-release]
106106
timeout-minutes: 60
107107
steps:
108-
- uses: actions/checkout@v4
108+
- uses: actions/checkout@v5
109109

110110
- name: Init Git and pull
111111
run: |
@@ -114,7 +114,7 @@ jobs:
114114
git pull
115115
116116
- name: Set up JDK
117-
uses: actions/setup-java@v4
117+
uses: actions/setup-java@v5
118118
with: # running setup-java overwrites the settings.xml
119119
distribution: 'temurin'
120120
java-version: '17'
@@ -131,7 +131,7 @@ jobs:
131131
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
132132

133133
- name: Set up JDK
134-
uses: actions/setup-java@v4
134+
uses: actions/setup-java@v5
135135
with: # running setup-java again overwrites the settings.xml
136136
distribution: 'temurin'
137137
java-version: '17'
@@ -153,7 +153,7 @@ jobs:
153153
needs: [prepare-release]
154154
timeout-minutes: 15
155155
steps:
156-
- uses: actions/checkout@v4
156+
- uses: actions/checkout@v5
157157

158158
- name: Init Git and pull
159159
run: |
@@ -162,7 +162,7 @@ jobs:
162162
git pull
163163
164164
- name: Setup - Java
165-
uses: actions/setup-java@v4
165+
uses: actions/setup-java@v5
166166
with:
167167
java-version: '17'
168168
distribution: 'temurin'
@@ -184,7 +184,7 @@ jobs:
184184
needs: [publish-maven]
185185
timeout-minutes: 10
186186
steps:
187-
- uses: actions/checkout@v4
187+
- uses: actions/checkout@v5
188188

189189
- name: Init Git and pull
190190
run: |

.github/workflows/sync-labels.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ubuntu-latest
1717
timeout-minutes: 10
1818
steps:
19-
- uses: actions/checkout@v4
19+
- uses: actions/checkout@v5
2020
with:
2121
sparse-checkout: .github/labels.yml
2222

.github/workflows/test-deploy.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ jobs:
1111
runs-on: ubuntu-latest
1212
timeout-minutes: 60
1313
steps:
14-
- uses: actions/checkout@v4
14+
- uses: actions/checkout@v5
1515

1616
- name: Set up JDK
17-
uses: actions/setup-java@v4
17+
uses: actions/setup-java@v5
1818
with: # running setup-java overwrites the settings.xml
1919
distribution: 'temurin'
2020
java-version: '17'
@@ -31,7 +31,7 @@ jobs:
3131
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
3232

3333
- name: Set up JDK
34-
uses: actions/setup-java@v4
34+
uses: actions/setup-java@v5
3535
with: # running setup-java again overwrites the settings.xml
3636
distribution: 'temurin'
3737
java-version: '17'

.github/workflows/update-from-template.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
update_branch_merged_commit: ${{ steps.manage-branches.outputs.update_branch_merged_commit }}
3737
create_update_branch_merged_pr: ${{ steps.manage-branches.outputs.create_update_branch_merged_pr }}
3838
steps:
39-
- uses: actions/checkout@v4
39+
- uses: actions/checkout@v5
4040
with:
4141
# Required because otherwise there are always changes detected when executing diff/rev-list
4242
fetch-depth: 0
@@ -183,7 +183,7 @@ jobs:
183183
runs-on: ubuntu-latest
184184
timeout-minutes: 60
185185
steps:
186-
- uses: actions/checkout@v4
186+
- uses: actions/checkout@v5
187187
with:
188188
# Required because otherwise there are always changes detected when executing diff/rev-list
189189
fetch-depth: 0

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ hs_err_pid*
4444
!.idea/saveactions_settings.xml
4545
!.idea/checkstyle-idea.xml
4646
!.idea/externalDependencies.xml
47+
!.idea/PMDPlugin.xml
4748

4849
!.idea/inspectionProfiles/
4950
.idea/inspectionProfiles/*

.idea/PMDPlugin.xml

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/checkstyle-idea.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)