Submitted by nonseodion, also found by serial-coder
Users can mint more DUSD than the value of collateral they provided for the Short Order when they cancel it.
Note: Each number below is a step and some steps jump to other steps.
When a user cancels a short order, the following happens: 
LibOrders.sol#L898-L902
LibOrders.sol#L904
LibOrders.sol#L905C1-L923
LibOrders.sol#L934
LibOrders.sol#L951
The issue arises in step 3 where it tries to fill the short record up to the minShortErc. To fill the Short Record, it first gets the amount of DUSD needed in line 928 of the code snippet below as debtDiff. The collateral needed to mint the DUSD is calculated in line 932.
There are two issues with the calculation in line 932:
The short record is filled in line 934, and the collateral needed is removed from the ETH the user initially supplied when he created the short order in line 950. Note that the user (i.e. the shorter) gets the debtDiff (i.e. DUSD minted) in line 953.
LibOrders.sol#L907-L938
A malicious user can exploit this by following these steps:
This will allow him to mint more DUSD than the value of the collateral he provided. The Short Record he leaves is also immediately liquidatable.
The issues above has the following impacts:
The POC below can be run in the shorts.t.sol file. It consists of 2 tests:
Consider using the initialCR of the asset if the short orders CR is lesser and consider using the current oracle price instead of the short orders price when it was created.
It is also possible that the ETH calculated exceeds the ETH the user provided when he created the Short Order. The sponsor can also consider sourcing more ETH from the users escrowed ETH to enable him to cancel when this occurs.
LibOrders.sol#L911-L938
ditto-eth (DittoETH) confirmed
