@@ -39,7 +39,16 @@ MindSpore作为一个同时支持端/边缘/云场景的训练推理框架,在 | |||||
## MindSpore安全公告(SA) | ## MindSpore安全公告(SA) | ||||
无 | |||||
| 公告 | 类型 | 受影响版本 | 上报人 | 附加信息 | | |||||
| --- | ---- | --- | --- | --- | | |||||
| [MSSA-2021-008](security_advisory_list/mssa-2021-008.md) | memcpy()越界问题在MindSpore Lite Tile算子中 | >= 0.7.0-beta, < 1.3.0 | Wang Xuan(@May) of Qihoo 360 AIVul Team | | | |||||
| [MSSA-2021-007](security_advisory_list/mssa-2021-007.md) | Integer溢出问题在MindSpore Lite的common_infer.c文件中 | >= 1.1.0, < 1.3.0 | Wang Xuan(@May) of Qihoo 360 AIVul Team | | | |||||
| [MSSA-2021-006](security_advisory_list/mssa-2021-006.md) | 数组下标未判断导致的数组越界访问问题在MindSpore Lite的Transpose算子中 | >= 0.7.0-beta, < 1.3.0 | Wang Xuan(@May) of Qihoo 360 AIVul Team | | | |||||
| [MSSA-2021-005](security_advisory_list/mssa-2021-005.md) | 数组下标未判断导致的数组越界访问问题在MindSpore Lite的SparseToDense算子中 | >= 1.2.0, < 1.3.0 | Wang Xuan(@May) of Qihoo 360 AIVul Team | | | |||||
| [MSSA-2021-004](security_advisory_list/mssa-2021-004.md) | 除0导致的SIGFPE问题在MindSpore Lite的Conv算子parser文件中 | >= 1.1.0, < 1.3.0 | Wang Xuan(@May) of Qihoo 360 AIVul Team | | | |||||
| [MSSA-2021-003](security_advisory_list/mssa-2021-003.md) | 除0导致的SIGFPE问题在MindSpore Lite的Reduce算子中 | >= 0.7.0-beta, < 1.3.0 | Wang Xuan(@May) of Qihoo 360 AIVul Team | | | |||||
| [MSSA-2021-002](security_advisory_list/mssa-2021-002.md) | 除0导致的SIGFPE问题在MindSpore Lite的SpaceToBatch算子中 | >= 0.7.0-beta, < 1.3.0 | Wang Xuan(@May) of Qihoo 360 AIVul Team | | | |||||
| [MSSA-2021-001](security_advisory_list/mssa-2021-001.md) | 除0导致的SIGFPE问题在MindSpore Lite的Split算子中 | >= 0.7.0-beta, < 1.3.0 | Wang Xuan(@May) of Qihoo 360 AIVul Team | | | |||||
## MindSpore安全说明(SN) | ## MindSpore安全说明(SN) | ||||
@@ -0,0 +1,32 @@ | |||||
From e0cbe113745a38be7b3afa0dff63a819e4490005 Mon Sep 17 00:00:00 2001 | |||||
From: lzk <liuzhongkai2@huawei.com> | |||||
Date: Fri, 21 May 2021 01:11:07 -0700 | |||||
Subject: [PATCH] div 0 bug fix | |||||
--- | |||||
mindspore/lite/src/runtime/kernel/arm/base/split_base.cc | 9 +++++++++ | |||||
1 file changed, 9 insertions(+) | |||||
diff --git a/mindspore/lite/src/runtime/kernel/arm/base/split_base.cc b/mindspore/lite/src/runtime/kernel/arm/base/split_base.cc | |||||
index 2448a407dd..b96e5aacb8 100644 | |||||
--- a/mindspore/lite/src/runtime/kernel/arm/base/split_base.cc | |||||
+++ b/mindspore/lite/src/runtime/kernel/arm/base/split_base.cc | |||||
@@ -50,6 +50,15 @@ int SplitBaseCPUKernel::ReSize() { | |||||
param->strides_[i] = param->strides_[i + 1] * input_shape.at(i + 1); | |||||
} | |||||
+ if (input_shape.at(param->split_dim_) == 0) { | |||||
+ MS_LOG(ERROR) << "input_shape[" << param->split_dim_ << "] must not be zero!"; | |||||
+ return RET_ERROR; | |||||
+ } | |||||
+ if (param->strides_[param->split_dim_] == 0) { | |||||
+ MS_LOG(ERROR) << "param->strides_[" << param->split_dim_ << "] must not be zero!"; | |||||
+ return RET_ERROR; | |||||
+ } | |||||
+ | |||||
MS_ASSERT(static_cast<size_t>(param->split_dim_) < input_shape.size()); | |||||
param->split_count_ = | |||||
param->strides_[0] * input_shape.at(0) / (input_shape.at(param->split_dim_) * param->strides_[param->split_dim_]); | |||||
-- | |||||
2.17.1 | |||||
@@ -0,0 +1,29 @@ | |||||
From e0cbe113745a38be7b3afa0dff63a819e4490005 Mon Sep 17 00:00:00 2001 | |||||
From: lzk <liuzhongkai2@huawei.com> | |||||
Date: Fri, 21 May 2021 01:11:07 -0700 | |||||
Subject: [PATCH] div 0 bug fix | |||||
--- | |||||
.../kernel_compiler/cpu/nnacl/infer/space_to_batch_infer.c | 6 ++++++ | |||||
1 file changed, 6 insertions(+) | |||||
diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/space_to_batch_infer.c b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/space_to_batch_infer.c | |||||
index c19082141d..e1b73101b3 100644 | |||||
--- a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/space_to_batch_infer.c | |||||
+++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/space_to_batch_infer.c | |||||
@@ -51,6 +51,12 @@ int SpaceToBatchInferShape(const TensorC *const *inputs, size_t inputs_size, Ten | |||||
block_w = block_shape[1]; | |||||
} | |||||
+ if (block_shape[0] == 0) { | |||||
+ return NNACL_ERR; | |||||
+ } | |||||
+ if (block_w == 0) { | |||||
+ return NNACL_ERR; | |||||
+ } | |||||
outputs[0]->shape_[kNHWC_N] = input->shape_[kNHWC_N] * (block_shape[0] * block_w); | |||||
outputs[0]->shape_[kNHWC_H] = (input->shape_[kNHWC_H] + paddings[0] + paddings[1]) / block_shape[0]; | |||||
outputs[0]->shape_[kNHWC_W] = (input->shape_[kNHWC_W] + padding_left + padding_right) / block_w; | |||||
-- | |||||
2.17.1 | |||||
@@ -0,0 +1,27 @@ | |||||
From e0cbe113745a38be7b3afa0dff63a819e4490005 Mon Sep 17 00:00:00 2001 | |||||
From: lzk <liuzhongkai2@huawei.com> | |||||
Date: Fri, 21 May 2021 01:11:07 -0700 | |||||
Subject: [PATCH] div 0 bug fix | |||||
--- | |||||
mindspore/lite/src/runtime/kernel/arm/fp32/reduce_fp32.cc | 4 ++++ | |||||
1 file changed, 4 insertions(+) | |||||
diff --git a/mindspore/lite/src/runtime/kernel/arm/fp32/reduce_fp32.cc b/mindspore/lite/src/runtime/kernel/arm/fp32/reduce_fp32.cc | |||||
index 044fd170e1..f1e45d47e0 100644 | |||||
--- a/mindspore/lite/src/runtime/kernel/arm/fp32/reduce_fp32.cc | |||||
+++ b/mindspore/lite/src/runtime/kernel/arm/fp32/reduce_fp32.cc | |||||
@@ -117,6 +117,10 @@ int ReduceCPUKernel::Run() { | |||||
outer_size_ = outer_sizes_.at(i); | |||||
inner_size_ = inner_sizes_.at(i); | |||||
axis_size_ = axis_sizes_.at(i); | |||||
+ if (axis_size_ == 0) { | |||||
+ MS_LOG(ERROR) << "axis_size_ is must not be zero!"; | |||||
+ return RET_ERROR; | |||||
+ } | |||||
auto error_code = ParallelLaunch(static_cast<const lite::InnerContext *>(this->context_)->thread_pool_, ReduceImpl, | |||||
this, context_->thread_num_); | |||||
if (error_code != RET_OK) { | |||||
-- | |||||
2.17.1 | |||||
@@ -0,0 +1,27 @@ | |||||
From e0cbe113745a38be7b3afa0dff63a819e4490005 Mon Sep 17 00:00:00 2001 | |||||
From: lzk <liuzhongkai2@huawei.com> | |||||
Date: Fri, 21 May 2021 01:11:07 -0700 | |||||
Subject: [PATCH] div 0 bug fix | |||||
--- | |||||
.../lite/tools/converter/parser/tflite/tflite_conv_parser.cc | 4 ++++ | |||||
1 file changed, 4 insertions(+) | |||||
diff --git a/mindspore/lite/tools/converter/parser/tflite/tflite_conv_parser.cc b/mindspore/lite/tools/converter/parser/tflite/tflite_conv_parser.cc | |||||
index 3e552883af..c2aac03799 100644 | |||||
--- a/mindspore/lite/tools/converter/parser/tflite/tflite_conv_parser.cc | |||||
+++ b/mindspore/lite/tools/converter/parser/tflite/tflite_conv_parser.cc | |||||
@@ -111,6 +111,10 @@ ops::PrimitiveC *TfliteDepthwiseConv2DParser::Parse(const std::unique_ptr<tflite | |||||
auto weight_shape = weight_tensor->shape; | |||||
prim->set_kernel_size({weight_shape[1], weight_shape[2]}); | |||||
prim->set_in_channel(weight_shape[3]); | |||||
+ if (tflite_attr->depth_multiplier == 0) { | |||||
+ MS_LOG(ERROR) << "depth_multiplier must not be zero!"; | |||||
+ return nullptr; | |||||
+ } | |||||
prim->set_group(weight_shape[3] / tflite_attr->depth_multiplier); | |||||
// get data tensor | |||||
-- | |||||
2.17.1 | |||||
@@ -0,0 +1,26 @@ | |||||
From 5aab6599e7280d2512a87434c174f13a0a2e7008 Mon Sep 17 00:00:00 2001 | |||||
From: lzk <liuzhongkai2@huawei.com> | |||||
Date: Fri, 21 May 2021 01:25:06 -0700 | |||||
Subject: [PATCH] array cross the border | |||||
--- | |||||
.../kernel_compiler/cpu/nnacl/infer/sparse_to_dense_infer.c | 3 +++ | |||||
1 file changed, 3 insertions(+) | |||||
diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/sparse_to_dense_infer.c b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/sparse_to_dense_infer.c | |||||
index 4b44ec7568..89620c9634 100644 | |||||
--- a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/sparse_to_dense_infer.c | |||||
+++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/sparse_to_dense_infer.c | |||||
@@ -27,6 +27,9 @@ int SparseToDenseInferShape(const TensorC *const *inputs, size_t inputs_size, Te | |||||
#endif | |||||
TensorC *output = outputs[0]; | |||||
+ if (inputs_size < 3) { | |||||
+ return NNACL_INPUT_TENSOR_ERROR; | |||||
+ } | |||||
const TensorC *input1 = inputs[1]; | |||||
const TensorC *input2 = inputs[2]; | |||||
SetDataTypeFormat(output, input2); | |||||
-- | |||||
2.17.1 | |||||
@@ -0,0 +1,102 @@ | |||||
From 5aab6599e7280d2512a87434c174f13a0a2e7008 Mon Sep 17 00:00:00 2001 | |||||
From: lzk <liuzhongkai2@huawei.com> | |||||
Date: Fri, 21 May 2021 01:25:06 -0700 | |||||
Subject: [PATCH] array cross the border | |||||
--- | |||||
.../cpu/nnacl/infer/transpose_infer.c | 70 +++++++++++-------- | |||||
1 file changed, 40 insertions(+), 30 deletions(-) | |||||
diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/transpose_infer.c b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/transpose_infer.c | |||||
index 04da736190..b1460bc8be 100644 | |||||
--- a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/transpose_infer.c | |||||
+++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/transpose_infer.c | |||||
@@ -26,6 +26,45 @@ bool CheckPermTransFormat(const int *perm, const int *perm_transformat, const si | |||||
return true; | |||||
} | |||||
+int SetOutputShape(int perms_num, const TensorC *input, TensorC *output, int *perm, size_t perm_size, int *out_shape) { | |||||
+ if (perms_num == 4) { | |||||
+ const int nchw2nhwc[4] = {0, 2, 3, 1}; | |||||
+ const int nhwc2nchw[4] = {0, 3, 1, 2}; | |||||
+ const int trans3d[3] = {0, 2, 1}; | |||||
+ if (input->format_ == Format_NCHW && CheckPermTransFormat(perm, nchw2nhwc, perms_num)) { | |||||
+ output->format_ = Format_NHWC; | |||||
+ } else if (input->format_ == Format_NHWC && CheckPermTransFormat(perm, nhwc2nchw, perms_num)) { | |||||
+ output->format_ = Format_NCHW; | |||||
+ } | |||||
+ // though the perm is 4d in default, the input can be a 3d tensor. The op implementation should be adapted to this. | |||||
+ if (input->shape_size_ == 3) { | |||||
+ ShapeSet(perm, &perm_size, trans3d, 3); | |||||
+ } | |||||
+ } | |||||
+ // set output shape | |||||
+ size_t in_shape_size = input->shape_size_; | |||||
+ output->shape_size_ = in_shape_size; | |||||
+ if (perm_size == 0) { | |||||
+ for (size_t i = 0; i < in_shape_size; ++i) { | |||||
+ out_shape[in_shape_size - i - 1] = input->shape_[i]; | |||||
+ } | |||||
+ } else if (perm_size != in_shape_size) { | |||||
+ for (size_t i = 0; i < in_shape_size; ++i) { | |||||
+ out_shape[i] = input->shape_[i]; | |||||
+ } | |||||
+ } else { | |||||
+ output->shape_size_ = perm_size; | |||||
+ for (size_t i = 0; i < perm_size; ++i) { | |||||
+ if (perm[i] >= input->shape_size_) { | |||||
+ return NNACL_ERR; | |||||
+ } else { | |||||
+ out_shape[i] = input->shape_[perm[i]]; | |||||
+ } | |||||
+ } | |||||
+ } | |||||
+ return NNACL_OK; | |||||
+} | |||||
+ | |||||
int TransposeInferShape(const TensorC *const *inputs, size_t inputs_size, TensorC **outputs, size_t outputs_size, | |||||
OpParameter *parameter) { | |||||
#ifdef Debug | |||||
@@ -60,38 +99,9 @@ int TransposeInferShape(const TensorC *const *inputs, size_t inputs_size, Tensor | |||||
for (size_t i = 0; i < perms_num; i++) { | |||||
ShapePush(perm, &perm_size, perm_data[i]); | |||||
} | |||||
- const int nchw2nhwc[4] = {0, 2, 3, 1}; | |||||
- const int nhwc2nchw[4] = {0, 3, 1, 2}; | |||||
- const int trans3d[3] = {0, 2, 1}; | |||||
- if (perms_num == 4) { | |||||
- if (input->format_ == Format_NCHW && CheckPermTransFormat(perm, nchw2nhwc, perms_num)) { | |||||
- output->format_ = Format_NHWC; | |||||
- } else if (input->format_ == Format_NHWC && CheckPermTransFormat(perm, nhwc2nchw, perms_num)) { | |||||
- output->format_ = Format_NCHW; | |||||
- } | |||||
- // though the perm is 4d in default, the input can be a 3d tensor. The op implementation should be adapted to this. | |||||
- if (input->shape_size_ == 3) { | |||||
- ShapeSet(perm, &perm_size, trans3d, 3); | |||||
- } | |||||
- } | |||||
// set output shape | |||||
int out_shape[MAX_TRANSPOSE_DIM_SIZE] = {0}; | |||||
- size_t in_shape_size = input->shape_size_; | |||||
- output->shape_size_ = in_shape_size; | |||||
- if (perm_size == 0) { | |||||
- for (size_t i = 0; i < in_shape_size; ++i) { | |||||
- out_shape[in_shape_size - i - 1] = input->shape_[i]; | |||||
- } | |||||
- } else if (perm_size != in_shape_size) { | |||||
- for (size_t i = 0; i < in_shape_size; ++i) { | |||||
- out_shape[i] = input->shape_[i]; | |||||
- } | |||||
- } else { | |||||
- output->shape_size_ = perm_size; | |||||
- for (size_t i = 0; i < perm_size; ++i) { | |||||
- out_shape[i] = input->shape_[perm[i]]; | |||||
- } | |||||
- } | |||||
+ SetOutputShape(perms_num, input, output, perm, perm_size, out_shape); | |||||
SetShapeArray(output, out_shape, output->shape_size_); | |||||
return NNACL_OK; | |||||
} | |||||
-- | |||||
2.17.1 | |||||
@@ -0,0 +1,25 @@ | |||||
From 8359643b0ebd9d0931110bd7776080abd2f2259d Mon Sep 17 00:00:00 2001 | |||||
From: lzk <liuzhongkai2@huawei.com> | |||||
Date: Fri, 21 May 2021 01:37:26 -0700 | |||||
Subject: [PATCH] common_infer bug | |||||
--- | |||||
.../backend/kernel_compiler/cpu/nnacl/infer/common_infer.c | 2 +- | |||||
1 file changed, 1 insertion(+), 1 deletion(-) | |||||
diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/common_infer.c b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/common_infer.c | |||||
index 20c15559ed..c422a9c1ab 100644 | |||||
--- a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/common_infer.c | |||||
+++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/common_infer.c | |||||
@@ -302,7 +302,7 @@ int ShapeInsert(int *shape, size_t *shape_size, int index, int value) { | |||||
} | |||||
int ShapeErase(int *shape, size_t *shape_size, int index) { | |||||
- if (index < 0 && index >= *shape_size) { | |||||
+ if (index < 0 || index >= *shape_size) { | |||||
return NNACL_ERR; | |||||
} | |||||
-- | |||||
2.17.1 | |||||
@@ -0,0 +1,43 @@ | |||||
From 5aab6599e7280d2512a87434c174f13a0a2e7008 Mon Sep 17 00:00:00 2001 | |||||
From: lzk <liuzhongkai2@huawei.com> | |||||
Date: Fri, 21 May 2021 01:25:06 -0700 | |||||
Subject: [PATCH] array cross the border | |||||
--- | |||||
.../backend/kernel_compiler/cpu/nnacl/infer/tile_infer.c | 3 +++ | |||||
mindspore/lite/src/runtime/kernel/arm/base/tile_base.cc | 5 +++++ | |||||
2 files changed, 8 insertions(+) | |||||
diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/tile_infer.c b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/tile_infer.c | |||||
index 19e20e71bd..df36be303a 100644 | |||||
--- a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/tile_infer.c | |||||
+++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/tile_infer.c | |||||
@@ -63,6 +63,9 @@ int TileInferShape(const TensorC *const *inputs, size_t inputs_size, TensorC **o | |||||
return NNACL_INPUT_TENSOR_ERROR; | |||||
} | |||||
multiples_size = data_num; | |||||
+ if (inputs[1]->data_type_ != kNumberTypeInt && inputs[1]->data_type_ != kNumberTypeInt32) { | |||||
+ return NNACL_INPUT_TENSOR_ERROR; | |||||
+ } | |||||
int *input1_data = inputs[1]->data_; | |||||
if (input1_data == NULL) { | |||||
return NNACL_INFER_INVALID; | |||||
diff --git a/mindspore/lite/src/runtime/kernel/arm/base/tile_base.cc b/mindspore/lite/src/runtime/kernel/arm/base/tile_base.cc | |||||
index 54548699d0..6898bcffff 100644 | |||||
--- a/mindspore/lite/src/runtime/kernel/arm/base/tile_base.cc | |||||
+++ b/mindspore/lite/src/runtime/kernel/arm/base/tile_base.cc | |||||
@@ -50,6 +50,11 @@ int TileCPUKernel::ReSize() { | |||||
MS_LOG(ERROR) << "tile's input1 data_num cannot be larger than input0's shape_size."; | |||||
return false; | |||||
} | |||||
+ if (in_tensors_[1]->data_type() != kNumberTypeInt && in_tensors_[1]->data_type() != kNumberTypeInt32) { | |||||
+ MS_LOG(ERROR) << "in_tensors_[1]->data_type():" << in_tensors_[1]->data_type() | |||||
+ << " must be kNumberTypeInt32 or kNumberTypeInt!"; | |||||
+ return RET_ERROR; | |||||
+ } | |||||
auto input1_addr = reinterpret_cast<int *>(in_tensors_[1]->data_c()); | |||||
for (int i = 0; i < in_tensors_[1]->ElementsNum(); ++i) { | |||||
tile_parameter_->dims_[i] = i; | |||||
-- | |||||
2.17.1 | |||||
@@ -0,0 +1,25 @@ | |||||
# MSSA-2021-001 - Security Advisory | |||||
## 发布日期 | |||||
2021-10-18 | |||||
## 更新日期 | |||||
2021-10-18 | |||||
## 影响 | |||||
- 在运行Split算子的resize操作时,如果变量input_shape元素中存在0值,会导致除0 SIGFPE。 | |||||
## 补丁 | |||||
- 我们已经在1.3.0版本通过commit [e0cbe113745a38be7b3afa0dff63a819e4490005](https://gitee.com/mindspore/mindspore/commit/e0cbe113745a38be7b3afa0dff63a819e4490005)修复了该问题,并且制作了该漏洞的[patch](../cve_patch/mssa-2021-001.patch)。 | |||||
## CVE | |||||
- 待补充。 | |||||
## 参考信息 | |||||
- 该漏洞对应的[issue](https://gitee.com/mindspore/mindspore/issues/I3SE1A)。 |
@@ -0,0 +1,25 @@ | |||||
# MSSA-2021-002 - Security Advisory | |||||
## 发布日期 | |||||
2021-10-18 | |||||
## 更新日期 | |||||
2021-10-18 | |||||
## 影响 | |||||
- 在运行SpaceToBatch算子的推导shape阶段,如果参数block_shape元素中存在0值,会导致除0 SIGFPE。 | |||||
## 补丁 | |||||
- 我们已经在1.3.0版本通过commit [e0cbe113745a38be7b3afa0dff63a819e4490005](https://gitee.com/mindspore/mindspore/commit/e0cbe113745a38be7b3afa0dff63a819e4490005)修复了该问题,并且制作了该漏洞的[patch](../cve_patch/mssa-2021-002.patch)。 | |||||
## CVE | |||||
- 待补充。 | |||||
## 参考信息 | |||||
- 该漏洞对应的[issue](https://gitee.com/mindspore/mindspore/issues/I3SE1A)。 |
@@ -0,0 +1,25 @@ | |||||
# MSSA-2021-003 - Security Advisory | |||||
## 发布日期 | |||||
2021-10-18 | |||||
## 更新日期 | |||||
2021-10-18 | |||||
## 影响 | |||||
- 在运行Refuce算子的run函数时,如果参数axis_sizes元素中存在0值,会导致除0 SIGFPE。 | |||||
## 补丁 | |||||
- 我们已经在1.3.0版本通过commit [e0cbe113745a38be7b3afa0dff63a819e4490005](https://gitee.com/mindspore/mindspore/commit/e0cbe113745a38be7b3afa0dff63a819e4490005)修复了该问题,并且制作了该漏洞的[patch](../cve_patch/mssa-2021-003.patch)。 | |||||
## CVE | |||||
- 待补充。 | |||||
## 参考信息 | |||||
- 该漏洞对应的[issue](https://gitee.com/mindspore/mindspore/issues/I3SE1A)。 |
@@ -0,0 +1,25 @@ | |||||
# MSSA-2021-004 - Security Advisory | |||||
## 发布日期 | |||||
2021-10-18 | |||||
## 更新日期 | |||||
2021-10-18 | |||||
## 影响 | |||||
- 在解析tflite Conv算子导MindSporeLite Conv算子的parser阶段时,如果属性depth_multiplier为0,会导致除0 SIGFPE。 | |||||
## 补丁 | |||||
- 我们已经在1.3.0版本通过commit [e0cbe113745a38be7b3afa0dff63a819e4490005](https://gitee.com/mindspore/mindspore/commit/e0cbe113745a38be7b3afa0dff63a819e4490005)修复了该问题,并且制作了该漏洞的[patch](../cve_patch/mssa-2021-004.patch)。 | |||||
## CVE | |||||
- 待补充。 | |||||
## 参考信息 | |||||
- 该漏洞对应的[issue](https://gitee.com/mindspore/mindspore/issues/I3SE1A)。 |
@@ -0,0 +1,25 @@ | |||||
# MSSA-2021-005 - Security Advisory | |||||
## 发布日期 | |||||
2021-10-18 | |||||
## 更新日期 | |||||
2021-10-18 | |||||
## 影响 | |||||
- 在SparseToDense算子的推导shape阶段,如果输入个数小于3,会导致变量inputs访问越界。 | |||||
## 补丁 | |||||
- 我们已经在1.3.0版本通过commit [5aab6599e7280d2512a87434c174f13a0a2e7008](https://gitee.com/mindspore/mindspore/commit/5aab6599e7280d2512a87434c174f13a0a2e7008)修复了该问题,并且制作了该漏洞的[patch](../cve_patch/mssa-2021-005.patch)。 | |||||
## CVE | |||||
- 待补充。 | |||||
## 参考信息 | |||||
- 该漏洞对应的[issue](https://gitee.com/mindspore/mindspore/issues/I3SE2J)。 |
@@ -0,0 +1,25 @@ | |||||
# MSSA-2021-006 - Security Advisory | |||||
## 发布日期 | |||||
2021-10-18 | |||||
## 更新日期 | |||||
2021-10-18 | |||||
## 影响 | |||||
- 在Transpose算子的推导shape阶段,如果perm元素中的值大于或等于input_shape size,会导致input_shape访问越界。 | |||||
## 补丁 | |||||
- 我们已经在1.3.0版本通过commit [5aab6599e7280d2512a87434c174f13a0a2e7008](https://gitee.com/mindspore/mindspore/commit/5aab6599e7280d2512a87434c174f13a0a2e7008)修复了该问题,并且制作了该漏洞的[patch](../cve_patch/mssa-2021-006.patch)。 | |||||
## CVE | |||||
- 待补充。 | |||||
## 参考信息 | |||||
- 该漏洞对应的[issue](https://gitee.com/mindspore/mindspore/issues/I3SE2J)。 |
@@ -0,0 +1,25 @@ | |||||
# MSSA-2021-007 - Security Advisory | |||||
## 发布日期 | |||||
2021-10-18 | |||||
## 更新日期 | |||||
2021-10-18 | |||||
## 影响 | |||||
- 在算子的公共推导shape阶段,判断逻辑错误,会导致shape访问越界。 | |||||
## 补丁 | |||||
- 我们已经在1.3.0版本通过commit [8359643b0ebd9d0931110bd7776080abd2f2259d](https://gitee.com/mindspore/mindspore/commit/8359643b0ebd9d0931110bd7776080abd2f2259d)修复了该问题,并且制作了该漏洞的[patch](../cve_patch/mssa-2021-007.patch)。 | |||||
## CVE | |||||
- 待补充。 | |||||
## 参考信息 | |||||
- 该漏洞对应的[issue](https://gitee.com/mindspore/mindspore/issues/I3SE2X)。 |
@@ -0,0 +1,25 @@ | |||||
# MSSA-2021-008 - Security Advisory | |||||
## 发布日期 | |||||
2021-10-18 | |||||
## 更新日期 | |||||
2021-10-18 | |||||
## 影响 | |||||
- 在Tile算子的推导shape阶段,如果输入数据类型不是int或者int32类型时,会导致内存拷贝越界。 | |||||
## 补丁 | |||||
- 我们已经在1.3.0版本通过commit [5aab6599e7280d2512a87434c174f13a0a2e7008](https://gitee.com/mindspore/mindspore/commit/5aab6599e7280d2512a87434c174f13a0a2e7008)修复了该问题,并且制作了该漏洞的[patch](../cve_patch/mssa-2021-008.patch)。 | |||||
## CVE | |||||
- 待补充。 | |||||
## 参考信息 | |||||
- 该漏洞对应的[issue](https://gitee.com/mindspore/mindspore/issues/I3SE2J)。 |