Skip to content

chore(deps): update dependency cryptography to v46.0.6 [security] (main)#903

Merged
cdkbot merged 1 commit intomainfrom
renovate/main-pypi-cryptography-vulnerability
Mar 30, 2026
Merged

chore(deps): update dependency cryptography to v46.0.6 [security] (main)#903
cdkbot merged 1 commit intomainfrom
renovate/main-pypi-cryptography-vulnerability

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Mar 29, 2026

This PR contains the following updates:

Package Change Age Confidence
cryptography (changelog) 46.0.546.0.6 age confidence

GitHub Vulnerability Alerts

CVE-2026-34073

Summary

In versions of cryptography prior to 46.0.5, DNS name constraints were only validated against SANs within child certificates, and not the "peer name" presented during each validation. Consequently, cryptography would allow a peer named bar.example.com to validate against a wildcard leaf certificate for *.example.com, even if the leaf's parent certificate (or upwards) contained an excluded subtree constraint for bar.example.com.

This behavior resulted from a gap between RFC 5280 (which defines Name Constraint semantics) and RFC 9525 (which defines service identity semantics): put together, neither states definitively whether Name Constraints should be applied to peer names. To close this gap, cryptography now conservatively rejects any validation where the peer name would be rejected by a name constraint if it were a SAN instead.

In practice, exploitation of this bypass requires an uncommon X.509 topology, one that the Web PKI avoids because it exhibits these kinds of problems. Consequently, we consider this a medium-to-low impact severity.

See CVE-2025-61727 for a similar bypass in Go's crypto/x509.

Remediation

Users should upgrade to 46.0.6 or newer.

Attribution

Reporter: @​1seal


Release Notes

pyca/cryptography (cryptography)

v46.0.6

Compare Source


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Mar 29, 2026
@renovate renovate Bot force-pushed the renovate/main-pypi-cryptography-vulnerability branch from 47f8b27 to 1220ae0 Compare March 30, 2026 19:26
@github-actions
Copy link
Copy Markdown
Contributor

Test results for commit 1220ae0

Test coverage for 1220ae0

Name                                            Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------------------------------------
charms/worker/k8s/src/certificates.py             187    187     44      0     0%   6-457
charms/worker/k8s/src/charm.py                    647    289    202     35    51%   120-121, 233-234, 244-245, 247, 261, 275-282, 305-310, 316-332, 369-372, 384, 393, 410-413, 418-420, 428-437, 460->465, 467-470, 504-505, 517->519, 524-526, 528-530, 542-556, 577, 585-591, 604-621, 637, 642-643, 653->exit, 675-691, 700-709, 721-733, 751-767, 777-792, 801-807, 819-861, 879-881, 883, 901-913, 922-949, 961-973, 983, 1025, 1028, 1037, 1047, 1050, 1060-1072, 1077-1083, 1105-1107, 1111-1114, 1125-1144, 1148-1149, 1169-1170, 1187, 1190-1191, 1197->1206, 1233-1236, 1239-1242, 1245-1248, 1254-1257, 1268-1269, 1272-1273
charms/worker/k8s/src/charmed_etcd.py              47     28      8      0    35%   32-36, 46, 57, 61-63, 67-81, 90-91, 95-102
charms/worker/k8s/src/cloud_integration.py         80      3     24      3    94%   140, 149->151, 158-159
charms/worker/k8s/src/config/arg_files.py          78      0     22      2    98%   125->124, 143->141
charms/worker/k8s/src/config/bootstrap.py         145     24     54      5    78%   65-84, 158-159, 202-203, 205, 223, 252, 266->254
charms/worker/k8s/src/config/cluster.py            63      3     22     11    84%   37, 51->53, 59->61, 63->65, 66, 68, 73->75, 79->81, 85->87, 92->94, 98->100
charms/worker/k8s/src/config/extra_args.py         41      3     18      3    90%   32->27, 79, 97, 113
charms/worker/k8s/src/config/option.py             20      0      8      0   100%
charms/worker/k8s/src/config/resource.py           33      7      4      1    73%   32, 57-58, 63-72
charms/worker/k8s/src/containerd.py               154     15     48     18    83%   45-48, 78->82, 82->85, 85->88, 234->236, 240->243, 243->245, 245->247, 247->250, 262, 269, 276, 327-328, 340-341, 355, 357, 359, 363
charms/worker/k8s/src/cos_integration.py           41     16      4      0    56%   82, 117-234, 238
charms/worker/k8s/src/endpoints.py                 40      1     18      1    97%   62
charms/worker/k8s/src/events/update_status.py     104     19     32      9    78%   93, 99-100, 124, 126, 142, 156-167, 173, 191, 192->194, 198
charms/worker/k8s/src/inspector.py                 62     10     24      6    79%   44-45, 74, 109, 122-123, 132, 138-143
charms/worker/k8s/src/k8s/client.py                20      4      2      1    77%   39->41, 47-48, 50-51
charms/worker/k8s/src/k8s/node.py                  34     14      4      0    53%   47-49, 52, 65-75
charms/worker/k8s/src/k8sd_api_manager.py         408     27     14      2    93%   701, 776-777, 1008, 1051-1053, 1062-1066, 1128, 1197, 1205, 1223, 1236-1237, 1298-1300, 1311-1314, 1331-1335
charms/worker/k8s/src/kube_control.py              44     32     10      0    22%   31-35, 44-90
charms/worker/k8s/src/literals.py                 109      0      0      0   100%
charms/worker/k8s/src/pki.py                       29      9      2      1    68%   35-36, 49-54, 65
charms/worker/k8s/src/protocols.py                 33      5      0      0    85%   60, 68, 76, 84, 92
charms/worker/k8s/src/reschedule.py                79      4      6      3    92%   155->158, 174-175, 191-192, 215->exit, 221->exit
charms/worker/k8s/src/snap.py                     180     16     58     11    89%   110, 188-189, 200-201, 214->207, 232-237, 291-292, 294, 297->288, 304->288, 308, 329-330
charms/worker/k8s/src/token_distributor.py        251    129     66      7    43%   112-114, 128, 182, 186, 211, 236->exit, 267, 287-288, 301-311, 332, 348-361, 407->406, 411, 415->420, 438-472, 506, 519, 529, 550-660, 679-732, 745-747
charms/worker/k8s/src/upgrade.py                  121     38     36      5    64%   81-108, 191->193, 202-205, 208-212, 219->221, 222-225, 242
charms/worker/k8s/src/utils.py                     16     16      4      0     0%   6-47
-------------------------------------------------------------------------------------------
TOTAL                                            3066    899    734    124    66%

Static code analysis report

Run started:2026-03-30 19:27:32.902310+00:00

Test results:
  No issues identified.

Code scanned:
  Total lines of code: 6144
  Total lines skipped (#nosec): 4
  Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 0

Run metrics:
  Total issues (by severity):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
  Total issues (by confidence):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
Files skipped (0):

@github-actions
Copy link
Copy Markdown
Contributor

Test results for commit 1220ae0

Test coverage for 1220ae0

Name                                            Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------------------------------------
charms/worker/k8s/src/certificates.py             187    187     44      0     0%   6-457
charms/worker/k8s/src/charm.py                    647    289    202     35    51%   120-121, 233-234, 244-245, 247, 261, 275-282, 305-310, 316-332, 369-372, 384, 393, 410-413, 418-420, 428-437, 460->465, 467-470, 504-505, 517->519, 524-526, 528-530, 542-556, 577, 585-591, 604-621, 637, 642-643, 653->exit, 675-691, 700-709, 721-733, 751-767, 777-792, 801-807, 819-861, 879-881, 883, 901-913, 922-949, 961-973, 983, 1025, 1028, 1037, 1047, 1050, 1060-1072, 1077-1083, 1105-1107, 1111-1114, 1125-1144, 1148-1149, 1169-1170, 1187, 1190-1191, 1197->1206, 1233-1236, 1239-1242, 1245-1248, 1254-1257, 1268-1269, 1272-1273
charms/worker/k8s/src/charmed_etcd.py              47     28      8      0    35%   32-36, 46, 57, 61-63, 67-81, 90-91, 95-102
charms/worker/k8s/src/cloud_integration.py         80      3     24      3    94%   140, 149->151, 158-159
charms/worker/k8s/src/config/arg_files.py          78      0     22      2    98%   125->124, 143->141
charms/worker/k8s/src/config/bootstrap.py         145     24     54      5    78%   65-84, 158-159, 202-203, 205, 223, 252, 266->254
charms/worker/k8s/src/config/cluster.py            63      3     22     11    84%   37, 51->53, 59->61, 63->65, 66, 68, 73->75, 79->81, 85->87, 92->94, 98->100
charms/worker/k8s/src/config/extra_args.py         41      3     18      3    90%   32->27, 79, 97, 113
charms/worker/k8s/src/config/option.py             20      0      8      0   100%
charms/worker/k8s/src/config/resource.py           33      7      4      1    73%   32, 57-58, 63-72
charms/worker/k8s/src/containerd.py               154     15     48     18    83%   45-48, 78->82, 82->85, 85->88, 234->236, 240->243, 243->245, 245->247, 247->250, 262, 269, 276, 327-328, 340-341, 355, 357, 359, 363
charms/worker/k8s/src/cos_integration.py           41     16      4      0    56%   82, 117-234, 238
charms/worker/k8s/src/endpoints.py                 40      1     18      1    97%   62
charms/worker/k8s/src/events/update_status.py     104     19     32      9    78%   93, 99-100, 124, 126, 142, 156-167, 173, 191, 192->194, 198
charms/worker/k8s/src/inspector.py                 62     10     24      6    79%   44-45, 74, 109, 122-123, 132, 138-143
charms/worker/k8s/src/k8s/client.py                20      4      2      1    77%   39->41, 47-48, 50-51
charms/worker/k8s/src/k8s/node.py                  34     14      4      0    53%   47-49, 52, 65-75
charms/worker/k8s/src/k8sd_api_manager.py         408     27     14      2    93%   701, 776-777, 1008, 1051-1053, 1062-1066, 1128, 1197, 1205, 1223, 1236-1237, 1298-1300, 1311-1314, 1331-1335
charms/worker/k8s/src/kube_control.py              44     32     10      0    22%   31-35, 44-90
charms/worker/k8s/src/literals.py                 109      0      0      0   100%
charms/worker/k8s/src/pki.py                       29      9      2      1    68%   35-36, 49-54, 65
charms/worker/k8s/src/protocols.py                 33      5      0      0    85%   60, 68, 76, 84, 92
charms/worker/k8s/src/reschedule.py                79      4      6      3    92%   155->158, 174-175, 191-192, 215->exit, 221->exit
charms/worker/k8s/src/snap.py                     180     16     58     11    89%   110, 188-189, 200-201, 214->207, 232-237, 291-292, 294, 297->288, 304->288, 308, 329-330
charms/worker/k8s/src/token_distributor.py        251    129     66      7    43%   112-114, 128, 182, 186, 211, 236->exit, 267, 287-288, 301-311, 332, 348-361, 407->406, 411, 415->420, 438-472, 506, 519, 529, 550-660, 679-732, 745-747
charms/worker/k8s/src/upgrade.py                  121     38     36      5    64%   81-108, 191->193, 202-205, 208-212, 219->221, 222-225, 242
charms/worker/k8s/src/utils.py                     16     16      4      0     0%   6-47
-------------------------------------------------------------------------------------------
TOTAL                                            3066    899    734    124    66%

Static code analysis report

Run started:2026-03-30 19:27:29.919890+00:00

Test results:
  No issues identified.

Code scanned:
  Total lines of code: 6144
  Total lines skipped (#nosec): 4
  Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 0

Run metrics:
  Total issues (by severity):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
  Total issues (by confidence):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
Files skipped (0):

Copy link
Copy Markdown

@cdkbot cdkbot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved for merge by 'auto-merge-prs' action

@cdkbot cdkbot merged commit 08d04c3 into main Mar 30, 2026
55 checks passed
@cdkbot cdkbot deleted the renovate/main-pypi-cryptography-vulnerability branch March 30, 2026 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant