Skip to content

Issues/453 security improvements#454

Merged
hhund merged 22 commits intodevelopfrom
issues/453_Security_Improvements
Apr 14, 2026
Merged

Issues/453 security improvements#454
hhund merged 22 commits intodevelopfrom
issues/453_Security_Improvements

Conversation

@hhund
Copy link
Copy Markdown
Member

@hhund hhund commented Apr 14, 2026

  • fixed inverted token cache timeout logic
  • improved ETag values to fix regression
  • improved CSP for Binary resources, new inline display for Binary content
  • removed exception message from status service error return, improved log
  • improved session timeout config, new error handling code in UI
  • improved yaml config
  • improved handling of untrusted input
  • improved client certificate checks
  • refactored db code to generate query json parameters via objectmapper
  • improved session cookie config
  • refactored code, added equals/hashCode impls to Identity classes
  • removed access token claim log messages
  • refactored code, improved oidc / jwks handling (use='sig', min RSA)
  • enforced https for jwks and token endpoints from oidc config
  • improved validation of db username/group config parameters
  • improved xml transformer config

closes #453

hhund added 21 commits March 23, 2026 15:18
If the FHIR servers answers with a redirect to the OIDC provider due to
an invalidated session Task resources to be created and
QuestionnaireResponse resource to be updated are stored in the browsers
session storage. After the redirect returns from the OIDC provider input
elements are pre-filled from the stored resources and the send button
scrolled into view. The send button blinks twice to get the users
attention.
* Improved Content-Security-Policy Header config for Binary resources.
* New Content-Type header value sanitizer filter to remove internal
parameters (pretty, summary, inline, etag) before returning the value to
the user.
* New inline display mode for binary resource content. HTML and Text
content is displayed via iframe and open full-screen. Other media types
are not displayed inline but can be displayed full-screen. Query
parameter _format=inline returns binary content (if accepted by the
client) without sending a "Content-Disposition: attachment ..." header.
- FHIR R4 specification enforces week ETags with the value being equal
to the resource version number. ETag value for standard FHIR requests
can not contain any other characters. ETags follow the specification
again, except for frontend HTML responses.
- Fixed no ETag send if resource has not lastUpdated value. HTTP header
values for "Last-Modified" and "ETag" not set independently.
- Added HTTP header "Vary" with value "Accept" to improve potential
caching behavior for FHIR json/xml responses that use the same ETag
value.
@hhund hhund added this to the 2.1.0 milestone Apr 14, 2026
@hhund hhund requested a review from schwzr April 14, 2026 07:21
@hhund hhund self-assigned this Apr 14, 2026
@hhund hhund linked an issue Apr 14, 2026 that may be closed by this pull request
@hhund hhund merged commit 3f30749 into develop Apr 14, 2026
49 of 53 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve Security / Defense-in-Depth

3 participants