CVE-2024-4547은 델타 일렉트로닉스 다이에너지 v1.10.1.8610 이하 버전에 영향을 미치는 SQL 인젝션 취약점입니다. 이 문제는 '~' 문자로 구분된 4개의 필드가 포함된 'RecalculateScript' 메시지를 처리하는 CEBC.exe 구성 요소에 있습니다. 인증되지 않은 원격 공격자가 이 취약점을 악용하여 네 번째 필드를 조작하여 악성 SQL 문을 삽입하면 민감한 데이터에 무단으로 액세스하거나 임의의 코드를 실행할 수 있습니다.
저희는 AIWAF 제품에서 이와 같은 구성 요소를 사용하여 발생하는 취약점을 지속적으로 모니터링하고 있으며, 향후 관련 취약점이 발견될 경우 즉시 대응할 예정입니다.
1. 개요
CVE-2024-4547은 Delta Electronics의 DIAEnergie 소프트웨어 버전 1.10.1.8610 및 그 이전 버전에서 발견된 SQL 인젝션 취약점입니다. 이 취약점은 CEBC.exe 프로세스가 'RecalculateScript' 메시지를 처리할 때 발생하며, 공격자가 악의적인 SQL 쿼리를 삽입하여 데이터베이스에 대한 비인가된 액세스를 얻을 수 있습니다.
2. 공격 유형
CEBC.exe는 TCP 포트 928에서 수신 대기하고 해당 포트로 전송된 원격 메시지를 수락하고 처리합니다.
CEBC.exe가 'RecalculateScript' 메시지를 처리할 때 SQL Injection 취약점이 존재하며, 이 메시지는 구분 기호로 '~' 문자를 사용하여 4개의 필드로 나뉩니다. 인증되지 않은 원격 공격자는 네 번째 필드를 통해 SQL Injection을 수행할 수 있습니다.
[...]
if (@string.StartsWith("RecalculateScript"))
{
string[] array7 = @string.Split(new char[] { '~' });
if (array7.Length != 4)
{
string text21 = "Command Error!" + DateTime.Now.ToString();
byte[] bytes25 = Encoding.ASCII.GetBytes(text21);
this.socket_1.Send(bytes25, bytes25.Length, SocketFlags.None);
goto IL_F0C;
}
try
{
RecalculateScriptClass recalculateScriptClass = new RecalculateScriptClass();
recalculateScriptClass.timeStart = Convert.ToDateTime(array7[1]);
recalculateScriptClass.timeEnd = Convert.ToDateTime(array7[2]);
recalculateScriptClass.tidList = array7[3].Split(new char[] { ',' });
diaenergieSQLHandleClass.ExcuteSQL("UPDATE DIAE_tag SET recalculate=2 WHERE tid IN (" + array7[3] + ")");
new Thread(new ThreadStart(recalculateScriptClass.RecalculateScript))
{
IsBackground = true
}.Start();
[...]
3. 대응 방안
CVE-2024-4547는 DIAEnergie v1.10.01.004 패치를 통해 대응 되었습니다.
해당 취약점의 경우 CEBC.exe의 'RecalculateScript'의 메시지를 처리할 때를 이용한 공격 방식으로 보여져, 저희 AIWAF 제품에서는 추가 분석을 진행하여 패턴으로 대응할 예정입니다.
4. 결론
CVE-2024-4547은 Delta Electronics DIAEnergie v1.10.1.8610 및 이전 버전에 영향을 미치는 SQL 주입 취약성입니다. 이 문제는 '~' 문자로 구분된 네 개의 필드가 포함된 'RecalculateScript' 메시지를 처리하는 CEBC.exe 구성 요소에 있습니다. 인증되지 않은 원격 공격자는 네 번째 필드를 조작하여 악성 SQL 문을 주입하여 이 취약성을 악용하여 민감한 데이터에 대한 무단 액세스를 얻거나 임의의 코드를 실행할 수 있습니다.
저희 AIWAF 제품에서는 해당 취약점과 같이 구성 요소를 이용하여 발생하는 취약점들에 대해 지속적으로 모니터링하고 있으며, 앞으로도 발견되는 관련 취약점들에 대해서도 신속하게 대응할 예정입니다.