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
Copy file name to clipboardExpand all lines: docs/features/secrets.adoc
-23Lines changed: 0 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -150,29 +150,6 @@ Example:
150
150
${trim:${readFile:/secret/passphrase.txt}}
151
151
```
152
152
153
-
=== Security and compatibility considerations
154
-
155
-
// TODO(oleg_nenashev): Add a link to the advisory once ready
156
-
157
-
Jenkins configurations might include property definitions,
158
-
e.g. for Token Macro resolution in Mail Ext Plugin.
159
-
Such properties are not supposed to be resolved when importing configurations,
160
-
but the JCasC plugin has no way to determine which variables should be resolved when reading the configurations.
161
-
162
-
In some cases non-admin users can contribute to JCasC exports if they have some permissions
163
-
(e.g. agent/view configuration or credentials management),
164
-
and they could potentially inject variable expressions in plain text fields like descriptions
165
-
and then see the resolved secrets in Jenkins Web UI if the Jenkins admin exports and imports the configuration without checking contents.
166
-
It led to a security vulnerability which was addressed in JCasC `1.25` (SECURITY-1446).
167
-
168
-
- When reading configuration YAMLs, JCasC plugin will try to resolve
169
-
**all** variables having the `${VARNAME}` format.
170
-
- Starting from JCasC `1.25`, JCasC export escapes the internal variable expressions,
171
-
e.g. as `^${VARNAME}`, so newly exported and then imported configurations are
172
-
are not subject for this risk
173
-
- For previously exported configurations, Jenkins admins are expected to manually
174
-
resolve the issues by putting the escape symbol `^` in front of variables which should not be resolved
175
-
176
153
=== Secret sources
177
154
178
155
In JCasC there is a link:https://jenkins.io/doc/developer/extensions/configuration-as-code/#secretsource[SecretSource extension point] which allows resolving variables passed to JCasC.
0 commit comments