From ab5132651a3c78adcbfffd20d1f9d0da437ee85b Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 12 Jun 2025 00:12:54 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- CHANGELOG.md | 56 ++++++ GITLAB_KAS_VERSION | 2 +- .../behaviors/components/json_table.vue | 11 +- .../behaviors/markdown/render_json_table.js | 6 +- .../groups/components/group_name_and_path.vue | 2 +- .../groups/components/new_edit_form.vue | 2 +- .../import_from_gitlab_export_app.vue | 2 +- .../general/components/advanced_settings.vue | 4 +- .../general/components/change_url.vue | 21 +-- .../components/organization_settings.vue | 18 +- .../projects/components/new_edit_form.vue | 2 +- .../shared_project_creation_fields.vue | 2 +- .../search/results/components/blob_header.vue | 14 +- .../components/create_work_item.vue | 13 +- .../shared/work_item_namespace_listbox.vue | 1 - .../components/work_item_breadcrumb.vue | 2 +- .../work_item_projects_listbox.vue | 13 +- ...ce_projects_for_links_widget.query.graphql | 9 +- app/assets/javascripts/work_items/index.js | 6 +- .../work_items/pages/create_work_item.vue | 14 +- .../rapid_diffs/diff_file_component.rb | 8 +- .../rapid_diffs/streaming_resource.rb | 34 ++-- app/controllers/glql/base_controller.rb | 4 +- app/controllers/groups/uploads_controller.rb | 1 - .../groups/work_items_controller.rb | 8 +- app/controllers/projects/issues_controller.rb | 3 +- .../merge_requests/diffs_stream_controller.rb | 8 +- app/controllers/projects_controller.rb | 5 +- .../http_integration/create.rb | 7 + .../http_integration/http_integration_base.rb | 4 +- app/helpers/application_settings_helper.rb | 2 + app/models/application_setting.rb | 4 + .../application_setting_implementation.rb | 2 + app/models/board.rb | 2 +- .../concerns/integrations/base/asana.rb | 7 +- .../concerns/integrations/base/assembla.rb | 2 +- .../concerns/integrations/base/bamboo.rb | 4 +- .../integrations/base/external_wiki.rb | 2 +- .../integrations/base/hangouts_chat.rb | 2 +- .../integrations/base/issue_tracker.rb | 2 +- .../concerns/integrations/base/mock_ci.rb | 2 +- .../integrations/base/pivotaltracker.rb | 2 +- .../concerns/integrations/base/pumble.rb | 2 +- .../concerns/integrations/base/pushover.rb | 2 +- .../concerns/integrations/base/teamcity.rb | 4 +- .../concerns/integrations/base/telegram.rb | 4 +- .../integrations/base/unify_circuit.rb | 2 +- .../concerns/integrations/base/webex_teams.rb | 3 +- .../integrations/slack_mattermost_notifier.rb | 2 +- app/models/concerns/web_hooks/hook.rb | 10 +- app/models/integrations/buildkite.rb | 2 +- app/models/integrations/campfire.rb | 4 +- app/models/integrations/drone_ci.rb | 2 +- app/models/integrations/matrix.rb | 2 +- .../remote_file.rb | 4 +- .../slack_installation/base_service.rb | 2 +- .../incident_modal_closed_service.rb | 2 +- .../incident_modal_submit_service.rb | 2 +- .../proxy_lifecycle_event_service.rb | 2 +- .../lfs_download_link_list_service.rb | 4 +- .../lfs_pointers/lfs_download_service.rb | 5 +- app/services/web_hook_service.rb | 1 + .../application_setting_response_limits.json | 10 ++ app/views/admin/labels/index.html.haml | 2 + app/views/groups/labels/index.html.haml | 2 + .../import/shared/_new_project_form.html.haml | 2 +- .../projects/_new_project_fields.html.haml | 2 +- app/views/projects/labels/index.html.haml | 8 +- .../empty_states/_priority_labels.html.haml | 4 +- .../jira_connect/retry_request_worker.rb | 2 +- config/initializers/net_http.rb | 62 +++++-- ...ll_bulk_import_export_batches_group_id.yml | 2 +- ...agement_repository_states_namespace_id.yml | 2 +- ...fill_design_user_mentions_namespace_id.yml | 2 +- .../backfill_issuable_slas_namespace_id.yml | 2 +- ...ize_backfill_issuable_slas_namespace_id.rb | 20 +++ ...ill_bulk_import_export_batches_group_id.rb | 20 +++ ...kfill_design_user_mentions_namespace_id.rb | 21 +++ ...nagement_repository_states_namespace_id.rb | 21 +++ db/schema_migrations/20250605204337 | 1 + db/schema_migrations/20250610152957 | 1 + db/schema_migrations/20250611095947 | 1 + db/schema_migrations/20250611100647 | 1 + doc/administration/gitaly/praefect.md | 9 + doc/administration/instance_limits.md | 32 ++++ doc/api/graphql/reference/_index.md | 9 +- doc/api/settings.md | 2 + .../import/principles_of_importer_design.md | 8 +- doc/development/integrations/_index.md | 7 +- doc/user/gitlab_duo_chat/_index.md | 3 +- doc/user/project/settings/import_export.md | 2 + gems/gitlab-http/.rubocop.yml | 3 + gems/gitlab-http/lib/gitlab/http_v2/client.rb | 39 ++--- .../lib/gitlab/http_v2/exceptions.rb | 4 +- gems/gitlab-http/spec/gitlab/http_v2_spec.rb | 103 +++++------ lib/api/notes.rb | 4 +- lib/atlassian/jira_connect/client.rb | 8 +- lib/bitbucket/app_password_connection.rb | 2 +- lib/bitbucket_server/connection.rb | 6 +- lib/bulk_imports/clients/graphql.rb | 2 +- lib/bulk_imports/clients/http.rb | 8 +- lib/gitlab/chat/responder/mattermost.rb | 2 +- lib/gitlab/chat/responder/slack.rb | 2 +- lib/gitlab/diff/file.rb | 4 + lib/gitlab/fogbugz_import/http_adapter.rb | 2 +- lib/gitlab/git_access.rb | 5 +- lib/gitlab/git_access_snippet.rb | 4 +- .../representation/gist.rb | 2 +- .../github_import/attachments_downloader.rb | 2 +- lib/gitlab/harbor/client.rb | 4 +- lib/gitlab/http.rb | 18 ++ lib/gitlab/jira/http_client.rb | 2 +- lib/gitlab/prometheus_client.rb | 2 +- lib/gitlab/slash_commands/verify_request.rb | 2 +- lib/gitlab/zentao/client.rb | 2 +- lib/import/clients/http.rb | 51 ++++++ lib/integrations/clients/http.rb | 51 ++++++ lib/mattermost/session.rb | 6 +- lib/microsoft_teams/notifier.rb | 2 +- lib/slack/api.rb | 2 +- locale/gitlab.pot | 30 ++-- .../rapid_diffs/streaming_resource_spec.rb | 31 +++- spec/controllers/glql/base_controller_spec.rb | 63 +++++-- ...cy_proxy_for_containers_controller_spec.rb | 28 +-- spec/controllers/projects_controller_spec.rb | 33 ++++ spec/factories/deploy_tokens.rb | 8 + .../dependency_proxy_for_containers_spec.rb | 8 +- .../concerns/packages/finder_helper_spec.rb | 9 +- .../packages/group_packages_finder_spec.rb | 6 +- .../behaviors/components/json_table_spec.js | 91 +++++----- .../markdown/render_json_table_spec.js | 27 +++ .../general/components/change_url_spec.js | 10 -- .../components/organization_settings_spec.js | 13 +- .../results/components/blob_header_spec.js | 97 +++++++++++ .../work_item_namespace_listbox_spec.js | 8 - .../components/work_item_breadcrumb_spec.js | 22 ++- .../work_item_projects_listbox_spec.js | 53 ++---- .../work_items/pages/create_work_item_spec.js | 60 +++++-- .../http_integration/create_spec.rb | 30 +++- spec/initializers/net_http_spec.rb | 162 +++++++++--------- .../bitbucket/app_password_connection_spec.rb | 9 +- spec/lib/bulk_imports/clients/http_spec.rb | 1 + .../gitlab/chat/responder/mattermost_spec.rb | 2 +- spec/lib/gitlab/chat/responder/slack_spec.rb | 4 +- spec/lib/gitlab/diff/file_spec.rb | 14 ++ spec/lib/gitlab/git_access_spec.rb | 4 +- .../attachments_downloader_spec.rb | 21 +-- spec/lib/gitlab/http_spec.rb | 42 +++++ spec/lib/import/clients/http_spec.rb | 22 +++ spec/lib/integrations/clients/http_spec.rb | 22 +++ spec/models/board_spec.rb | 13 ++ spec/models/ci/build_spec.rb | 10 +- spec/models/deploy_token_spec.rb | 9 +- spec/models/integrations/matrix_spec.rb | 6 +- spec/models/project_spec.rb | 6 - spec/policies/group_policy_spec.rb | 12 +- .../dependency_proxy/group_policy_spec.rb | 8 +- .../packages/policies/group_policy_spec.rb | 8 +- spec/policies/project_policy_spec.rb | 18 +- .../api/cargo_project_packages_spec.rb | 6 +- spec/requests/api/composer_packages_spec.rb | 6 +- spec/requests/api/generic_packages_spec.rb | 9 +- .../http_integration/create_spec.rb | 26 +++ spec/requests/api/helm_packages_spec.rb | 3 +- spec/requests/api/maven_packages_spec.rb | 23 ++- .../api/nuget_project_packages_spec.rb | 6 +- spec/requests/api/pypi_packages_spec.rb | 3 +- .../requests/api/rpm_project_packages_spec.rb | 6 +- spec/requests/api/rubygem_packages_spec.rb | 3 +- .../groups/work_items_controller_spec.rb | 23 +++ .../remote_file_spec.rb | 6 +- .../incident_modal_closed_service_spec.rb | 5 +- .../incident_modal_submit_service_spec.rb | 36 ++-- .../lfs_download_link_list_service_spec.rb | 4 +- .../api/npm_packages_shared_context.rb | 3 +- .../api/terraform_modules_shared_context.rb | 5 +- .../http_integrations_shared_examples.rb | 4 +- .../base/asana_shared_examples.rb | 6 +- .../base/telegram_shared_examples.rb | 6 +- .../web_hooks/web_hook_shared_examples.rb | 29 ++++ .../project_policy_shared_examples.rb | 4 + .../services/deploy_token_shared_examples.rb | 17 +- 182 files changed, 1535 insertions(+), 704 deletions(-) create mode 100644 db/post_migrate/20250605204337_finalize_backfill_issuable_slas_namespace_id.rb create mode 100644 db/post_migrate/20250610152957_finalize_backfill_bulk_import_export_batches_group_id.rb create mode 100644 db/post_migrate/20250611095947_finalize_backfill_design_user_mentions_namespace_id.rb create mode 100644 db/post_migrate/20250611100647_finalize_backfill_design_management_repository_states_namespace_id.rb create mode 100644 db/schema_migrations/20250605204337 create mode 100644 db/schema_migrations/20250610152957 create mode 100644 db/schema_migrations/20250611095947 create mode 100644 db/schema_migrations/20250611100647 create mode 100644 lib/import/clients/http.rb create mode 100644 lib/integrations/clients/http.rb create mode 100644 spec/lib/import/clients/http_spec.rb create mode 100644 spec/lib/integrations/clients/http_spec.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index ced32a47214..e41954fd8d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,27 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 18.0.2 (2025-06-11) + +### Fixed (5 changes) + +- [Fix Upgrade to 18.0: No such column](https://gitlab.com/gitlab-org/security/gitlab/-/commit/bde20c3f31d324493d032be57be4465f0919760e) +- [Fix IDE links returns about:blank in old code dropdown](https://gitlab.com/gitlab-org/security/gitlab/-/commit/633864727f574f9d9b93826bb76d66a790382915) +- [Fix the title/body issue for todo apis when it is a duo todo](https://gitlab.com/gitlab-org/security/gitlab/-/commit/d8080ea15af34cf804ce024b207f2fa4817c87a6) **GitLab Enterprise Edition** +- [Fix gitpod button is missing in the edit dropdown](https://gitlab.com/gitlab-org/security/gitlab/-/commit/4bbef760c63924f2821233d98dc04c1982751430) +- [Move fork_networks organization_id NOT NULL to post-migrate](https://gitlab.com/gitlab-org/security/gitlab/-/commit/2bbea09c16044981bf316dd43544a87e4bf67147) + +### Security (8 changes) + +- [Protect webhook from excessive payload lengths](https://gitlab.com/gitlab-org/security/gitlab/-/commit/990fae5b6be86c6769c2086578ae2096762e21a8) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5059)) +- [Endless Redirect Loop in any project when query param "format" is "git"](https://gitlab.com/gitlab-org/security/gitlab/-/commit/fdbfb6cd14973800abeec182823bcfa647a1a5a8) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5038)) +- [Backport for "Add validation for board name length" to 18-0 stable](https://gitlab.com/gitlab-org/security/gitlab/-/commit/ba616a03359751fc3add6f8504c79f4381efa703) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5044)) +- [Fix # #1329 - IDOR in compliance framework export endpoint](https://gitlab.com/gitlab-org/security/gitlab/-/commit/ffea57e8e171b120f5f66fe81da39a21e5ab0258) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5041)) +- [Fix authorization for compliance frameworks projects](https://gitlab.com/gitlab-org/security/gitlab/-/commit/0d783852162009bc5286a939534f2a5e2f1ae7ef) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5034)) +- [security: Git redirection inconsistency](https://gitlab.com/gitlab-org/security/gitlab/-/commit/3fb95759edb3e7729b981bf48140ef9a05a32761) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5020)) +- [Fix XSS with CSP bypass in JSON tables](https://gitlab.com/gitlab-org/security/gitlab/-/commit/fcfebf2f188ed90eea3f7db92ebeedcbadc6504d) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5022)) +- [Limit HTTP response size](https://gitlab.com/gitlab-org/security/gitlab/-/commit/f8bf80825e1bd802be7be374905600059abd2726) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5014)) + ## 18.0.1 (2025-05-21) ### Fixed (1 change) @@ -856,6 +877,24 @@ entry. - [Finalize migration BackfillContainerRepositoryStatesProjectId](https://gitlab.com/gitlab-org/gitlab/-/commit/78f333c76a39d0a85938318b3be49905c19074e6) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/185869)) - [Finalize migration BackfillPackagesRpmMetadataProjectId](https://gitlab.com/gitlab-org/gitlab/-/commit/d066d88be1fff7cfcf64017124af797e085a4b4f) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/184553)) +## 17.11.4 (2025-06-11) + +### Fixed (2 changes) + +- [Fix gitpod button is missing in the edit dropdown](https://gitlab.com/gitlab-org/security/gitlab/-/commit/813a005dc240c1bfafc313ded694317a96f1a877) +- [Attempt to migrate ci_runner_taggings table (try 2)](https://gitlab.com/gitlab-org/security/gitlab/-/commit/706a075f79838d5d8421c5eae2e96a7601164201) + +### Security (8 changes) + +- [Protect webhook from excessive payload lengths](https://gitlab.com/gitlab-org/security/gitlab/-/commit/a0d74cdeed26661b221446efc90fb5bd19b54d95) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5060)) +- [Endless Redirect Loop in any project when query param "format" is "git"](https://gitlab.com/gitlab-org/security/gitlab/-/commit/24d25f0b270337679bcfe282370ad169d137471f) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5039)) +- [Backport for "Add validation for board name length" to 17-11-stable](https://gitlab.com/gitlab-org/security/gitlab/-/commit/5ed051286369ec256431faeb44a16c848b6d0edc) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5045)) +- [Fix # #1329 - IDOR in compliance framework export endpoint](https://gitlab.com/gitlab-org/security/gitlab/-/commit/071c88429e0974fdf1c0d67e7ba9d1f419843244) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5043)) +- [security: Git redirection inconsistency](https://gitlab.com/gitlab-org/security/gitlab/-/commit/373f9840af59eae05b14ea200fa10c1e4ecd7367) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5019)) +- [Fix XSS with CSP bypass in JSON tables](https://gitlab.com/gitlab-org/security/gitlab/-/commit/862a14acb446e9f7ce962404d8d472b19d832ff8) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4987)) +- [Limit HTTP response size](https://gitlab.com/gitlab-org/security/gitlab/-/commit/94d20db29203681d75da5642fe4d1da51238863e) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5015)) +- [Fix authorization for compliance frameworks projects](https://gitlab.com/gitlab-org/security/gitlab/-/commit/0eecdfe1df4254e2674efe9c0e309d9325db5c4b) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5035)) + ## 17.11.3 (2025-05-21) ### Fixed (1 change) @@ -1683,6 +1722,23 @@ entry. - [Remove feature flag allow_merge_request_pipelines_from_fork](https://gitlab.com/gitlab-org/gitlab/-/commit/b62f9187a57cc5ba66ce26889516cc55a425181a) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/182862)) - [Finalize migration BackfillNewAuditEventTables](https://gitlab.com/gitlab-org/gitlab/-/commit/1bc0f07ffd3af5b9fab8a0ea0b1af5f2759d25db) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/181881)) +## 17.10.8 (2025-06-11) + +### Fixed (2 changes) + +- [Fix gitpod button is missing in the edit dropdown](https://gitlab.com/gitlab-org/security/gitlab/-/commit/c3ad6f66e6f17a5bf8fa2489a7335dfa58fc55a6) +- [Attempt to migrate ci_runner_taggings table (try 2)](https://gitlab.com/gitlab-org/security/gitlab/-/commit/c2520ea439dcb4fee531fcc39efc85ab4b607a6c) + +### Security (7 changes) + +- [Protect webhook from excessive payload lengths](https://gitlab.com/gitlab-org/security/gitlab/-/commit/1fb7390786ae5c22ec7f1bc172423a76835aa14c) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5061)) +- [Endless Redirect Loop in any project when query param "format" is "git"](https://gitlab.com/gitlab-org/security/gitlab/-/commit/fddb00a30506eb534dc9e1f5c1923eee3e33c0b3) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5040)) +- [Backport for "Add validation for board name length" to 17-10-stable](https://gitlab.com/gitlab-org/security/gitlab/-/commit/a69cf8ef367ef1897158af0619cd537fe5d2a5df) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5046)) +- [Fix # #1329 - IDOR in compliance framework export endpoint](https://gitlab.com/gitlab-org/security/gitlab/-/commit/7b4f9e9fb7411a18185ada44dc88dd264e6a228b) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5042)) +- [security: Git redirection inconsistency](https://gitlab.com/gitlab-org/security/gitlab/-/commit/12003cbfb9b4081a352724922e6ed9aa97656ace) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4900)) +- [Fix XSS with CSP bypass in JSON tables](https://gitlab.com/gitlab-org/security/gitlab/-/commit/1b02f9ed79b3a999baae5c02fa4f26c487927cba) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/4988)) +- [Limit HTTP response size](https://gitlab.com/gitlab-org/security/gitlab/-/commit/1411cb581f68400b5370d694cce3c67e5f0e2294) ([merge request](https://gitlab.com/gitlab-org/security/gitlab/-/merge_requests/5016)) + ## 17.10.7 (2025-05-21) ### Security (9 changes) diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index 414cd38fe74..807ca0e3226 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -3a09d6c84e9ac6d32832372afd9c6100a56a2b24 +060d5cb6dbc76ef1344a8fabf21cbae551ecab90 diff --git a/app/assets/javascripts/behaviors/components/json_table.vue b/app/assets/javascripts/behaviors/components/json_table.vue index 24bbb210cf5..d08f08341d7 100644 --- a/app/assets/javascripts/behaviors/components/json_table.vue +++ b/app/assets/javascripts/behaviors/components/json_table.vue @@ -2,7 +2,7 @@ import { GlTable, GlFormInput } from '@gitlab/ui'; import { memoize } from 'lodash'; import { __ } from '~/locale'; -import { sanitize } from '~/lib/dompurify'; +import { sanitize, defaultConfig } from '~/lib/dompurify'; import SafeHtml from '~/vue_shared/directives/safe_html'; const domParser = new DOMParser(); @@ -74,6 +74,11 @@ export default { return `cell(${field.key})`; }, }, + safeHtmlConfig: { + ...defaultConfig, + FORBID_ATTR: [...defaultConfig.FORBID_ATTR, 'class', 'style'], + ALLOW_DATA_ATTR: false, + }, };
- {{ $options.i18n.submitButtonText }} + {{ + $options.i18n.submitButtonText + }}
diff --git a/app/assets/javascripts/organizations/settings/general/components/organization_settings.vue b/app/assets/javascripts/organizations/settings/general/components/organization_settings.vue index 36054960844..44ebd2bcffe 100644 --- a/app/assets/javascripts/organizations/settings/general/components/organization_settings.vue +++ b/app/assets/javascripts/organizations/settings/general/components/organization_settings.vue @@ -1,4 +1,5 @@