Security
Headlines
HeadlinesLatestCVEs

Headline

CVE-2023-32310: feat(仪表板): 删除分享IDOR漏洞 · dataease/dataease@72f428e

DataEase is an open source data visualization and analysis tool. The API interface for DataEase delete dashboard and delete system messages is vulnerable to insecure direct object references (IDOR). This could result in a user deleting another user’s dashboard or messages or interfering with the interface for marking messages read. The vulnerability has been fixed in v1.18.7. There are no known workarounds aside from upgrading.

CVE
#vulnerability#auth

Expand Up

@@ -4,12 +4,11 @@

import io.dataease.auth.api.dto.CurrentRoleDto;

import io.dataease.auth.api.dto.CurrentUserDto;

import io.dataease.commons.constants.SysLogConstants;

import io.dataease.commons.utils.DeLogUtils;

import io.dataease.ext.ExtPanelShareMapper;

import io.dataease.commons.model.AuthURD;

import io.dataease.commons.utils.AuthUtils;

import io.dataease.commons.utils.BeanUtils;

import io.dataease.commons.utils.CommonBeanFactory;

import io.dataease.commons.utils.DeLogUtils;

import io.dataease.controller.request.panel.PanelShareFineDto;

import io.dataease.controller.request.panel.PanelShareRemoveRequest;

import io.dataease.controller.request.panel.PanelShareRequest;

Expand All

@@ -18,6 +17,7 @@

import io.dataease.dto.panel.PanelShareDto;

import io.dataease.dto.panel.PanelShareOutDTO;

import io.dataease.dto.panel.PanelSharePo;

import io.dataease.ext.ExtPanelShareMapper;

import io.dataease.plugins.common.base.domain.PanelGroup;

import io.dataease.plugins.common.base.domain.PanelShare;

import io.dataease.plugins.common.base.domain.PanelShareExample;

Expand Down Expand Up

@@ -390,8 +390,11 @@ public void removeSharesyPanel(String panelId) {

PanelShareRemoveRequest request = new PanelShareRemoveRequest();

request.setPanelId(panelId);

List<PanelShareOutDTO> panelShareOutDTOS = queryTargets(panelId);

if (CollectionUtils.isEmpty(panelShareOutDTOS) || ObjectUtils.isEmpty(panelGroup)) {

return;

}

extPanelShareMapper.removeShares(request);

if (CollectionUtils.isEmpty(panelShareOutDTOS) || ObjectUtils.isEmpty(panelGroup) || StringUtils.isBlank(panelGroup.getName())) {

if (StringUtils.isBlank(panelGroup.getName())) {

return;

}

panelShareOutDTOS.forEach(shareOut -> {

Expand Down

Related news

GHSA-7hv6-gv38-78wj: DataEase API interface has IDOR vulnerability

### Impact The api interface for DataEase delete dashboard and delete system messages is vulnerable to IDOR. The interface to delete the dashboard: 1. Create two users: user1 and user2 2. User1 creates a dashboard named pan1 3. User2 creates a dashboard named pan2 4. Both user1 and user2 share their dashboards with the demo user 5. User1 wants to delete his dashboard. We hijack the request with burpsuite. The request will probably look like this: POST /api/share/removePanelShares/440efa7f-efd8-11ed-bec7-1144724bc08c HTTP/1.1. 440efa7f-efd8-11ed-bec7-1144724bc08c is the ID of pan1 6. We replace this ID with the ID of pan2 and continue the execution (i.e. we delete the shares of others) 7. Successfully remove the shared link ![image](https://user-images.githubusercontent.com/985347/238271028-d23a9ca3-cd77-42a2-9199-a28ef03f5bf0.png) The interface to delete system messages: 1. Our request to delete a message is shown below ![image](https://user-images.githubusercontent.com/985347/238271...

CVE: Latest News

CVE-2023-50976: Transactions API Authorization by oleiman · Pull Request #14969 · redpanda-data/redpanda
CVE-2023-6905
CVE-2023-6903
CVE-2023-6904
CVE-2023-3907